Annotation of gforth/INSTALL.DOS, revision 1.8

1.8     ! anton       1: Copyright (C) 2003 Free Software Foundation, Inc.
        !             2: This file is free documentation; the Free Software Foundation gives
        !             3: unlimited permission to copy, distribute and modify it.
        !             4: 
1.5       pazsan      5: MS-DOS:
                      6: 
1.2       pazsan      7: You need DJ Delorie's port of GCC to DOS (DJGPP 2.0) to compile
                      8: Gforth. DJGPP provides a DPMI client that allows to use the 32-bit
                      9: features of the 80386, but on the other hand it requires at least a
                     10: 386. A DPMI host is also part of the DJGPP 2.0 package, this is
                     11: required if you don't have a DPMI host yourself (Windows/OS/2/Linux
                     12: DOS-box, Quemm or others).
1.1       pazsan     13: 
1.7       pazsan     14: First run
                     15: 
                     16: config
                     17: 
                     18: config has the following useful parameters:
                     19:   --enable-force-reg      Use explicit register declarations if they appear in
                     20:                           the machine.h file. This can cause a good speedup,
                     21:                           but also incorrect code with some gcc versions on
                     22:                           some processors (default disabled).
                     23:   --enable-direct-threaded      Force direct threading. This may not work on
                     24:                                 some machines and may cause slowdown on others.
                     25:                                 (default disabled)
                     26:   --enable-indirect-threaded    Force indirect threading. This can cause a
                     27:                                 slowdown on some machines.
                     28:                                 (default enabled)
                     29: 
1.5       pazsan     30: OS/2:
                     31: 
                     32: You need EMX 0.9c to compile Gforth. The EMX package provides all
                     33: necessary Unix-like tools, tty and signal handling.
                     34: 
1.6       pazsan     35: Windows 95/Windows NT:
                     36: 
                     37: You need the Cygnus Win32 package. This package currently is only in
                     38: beta test, so expect bugs and quirks.
                     39: 
                     40: If you don't want to install the DJGPP, CYGWIN32 or EMX package (quite
                     41: large), look for a binary distribution of Gforth for DOS, Win32 or
1.7       pazsan     42: OS/2.
                     43: 
                     44: You also must have a version of GNU make, because DOS/Win32/OS/2 make
                     45: programs are likely to have problems with the Makefile. If you want to
                     46: change Gforth, you may need GNU m4, too. Because DJGPP provides some
                     47: use of long filenames under Windows 95, you should unpack the gforth
                     48: package with a Windows-95-aware archiver (those from DJGPP or the
                     49: Cygnus Win32-package come in mind), because otherwise gforth will not
                     50: find the necessary files. With MS-DOS versions prior 7.0 or DR-DOS,
                     51: these names are cut due to the 8.3 rule. This might confuse DJGPP
                     52: 2.0's make, you could use DJGPP 1.x's make instead. Gforth 0.4.0
1.6       pazsan     53: hasn't been compiled with a MS-DOS prior 7.0.
1.5       pazsan     54: 
                     55: Compiling under DOS or OS/2 has a number of quirks, and if it doesn't
                     56: compile out of the box, you should know what you do. I therefore
1.6       pazsan     57: discourage unexperienced users to compile gforth themselves. There's a
1.5       pazsan     58: binary package for it anyway.
1.1       pazsan     59: 
1.6       pazsan     60: Compiling using CygWin32 works a bit better, but there are still
                     61: quirks. The package allows to "mount" Windows directories under
                     62: typical unix locations. E.g. I installed the package in E:\cygnus, and
                     63: then I mount /usr, /usr/local and /bin with
                     64: 
                     65: ./mount e:/cygnus /usr
                     66: ./mount e:/cygnus/H-i386-cygwin32 /usr/local
                     67: ./mount e:/cygnus/H-i386-cygwin32/bin /bin
                     68: 
                     69: once. Each time I start CygWin32's bash, I set up the following variables:
                     70: 
                     71: export TMPDIR=/usr/tmp
1.7       pazsan     72: export COMPILER_PATH=/usr/local/lib/gcc-lib/i386-cygwin32/cygnus-2.7.2-970404
1.6       pazsan     73: export LIBRARY_PATH="/usr/lib;/usr/local/lib"
                     74: export C_INCLUDE_PATH=/usr/local/i386-cygwin32/include
                     75: export GCC_DEFAULT_OPTIONS="-specs=$COMPILER_PATH/specs"
                     76: export PATH=/bin:.:$PATH
                     77: 
1.7       pazsan     78: Write this into a script and source it in at each bash invocation, or
                     79: put it into your .bashrc.
1.6       pazsan     80: 
1.1       pazsan     81: If you don't bother and want to make it yourself, type
                     82: 
                     83: configure
                     84: 
1.2       pazsan     85: configure has the following useful parameters:
                     86:   --enable-force-reg      Use explicit register declarations if they appear in
                     87:                           the machine.h file. This can cause a good speedup,
                     88:                           but also incorrect code with some gcc versions on
                     89:                           some processors (default disabled).
                     90:   --enable-direct-threaded      Force direct threading. This may not work on
                     91:                                 some machines and may cause slowdown on others.
1.4       pazsan     92:                                 (default disabled)
1.2       pazsan     93:   --enable-indirect-threaded    Force indirect threading. This can cause a
                     94:                                 slowdown on some machines.
1.4       pazsan     95:                                 (default enabled)
1.1       pazsan     96: 
                     97: After covering all inconveniences, type
                     98: 
                     99: make
                    100: 
                    101: Now you can check whether your shiny new Forth system works. Say
                    102: 
                    103: make test
                    104: 
                    105: You can run some benchmarks with
                    106: 
                    107: make bench
                    108: 
1.7       pazsan    109: and compare them with the results in Benchres and in the manual. DOS
                    110: and OS/2 don't allow to run the benchmarks, since the command TIME
                    111: means something different there.
                    112: 
                    113: Don't try to do "make install" there, it won't work, either. It is not
                    114: possible to "make dist" or "make bindist", too, because of the
                    115: limitations of DOS command lines.
1.1       pazsan    116: 
                    117: Add the following entry to your Autoexec.bat:
                    118: 
1.3       pazsan    119: SET GFORTHPATH=<your gforth source directory>;.
1.1       pazsan    120: 
1.3       pazsan    121: Use / instead of \ in your gforth source directory. Gforth now uses
1.6       pazsan    122: ';' as path separator for DOS and OS/2 (not for Cygwin32), so you
                    123: won't have problems with DOS pathes that may contain ':', which is the
1.7       pazsan    124: default path separator in Unix. Use ~+ for the current directory.
1.1       pazsan    125: 
                    126: For paper documentation, print gforth.ps (a Postscript file (300dpi
                    127: fonts, i.e., it works, but does not produce best quality on better
                    128: printers)), or say
                    129: 
                    130: make gforth.dvi
                    131: 
                    132: and print the resulting file gforth.dvi (you need TeX for that! But
                    133: with TeX you can print it even if you don't have a Postscript printer
1.5       pazsan    134: nor Ghostscript).  You could be able to make a HTML version of the
1.1       pazsan    135: document, but AFAIK there is no texi2html for DOS available, as there
1.7       pazsan    136: is no perl available. You should get the HTML pages from the same
                    137: location where you got Gforth or from
                    138: 
                    139: http://www.complang.tuwien.ac.at/forth/gforth/
                    140: or
                    141: ftp://ftp.complang.tuwien.ac.at/pub/forth/gforth/

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