Annotation of gforth/INSTALL.DOS, revision 1.6

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

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