\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename MSDOS.info
@settitle GNUish MSDOS Project
@finalout
@setchapternewpage odd
@c %**end of header

@c TODO list.
@c Get less `zoo v' back home.
@c Check nature of swalibas .tex file.
@c Speak about emtex.
@c Speak about oleo.  (oleo-1.2.2.tar.Z)
@c Speak about gnuplot.  (gnuplot-3.2.tar.Z)
@c Speak about tar.  (tar-1.11.1.tar.Z)
@c Speak about vi.  (elvis-1.6.tar.Z)
@c Speak about cawf.  (groff-1.06.tar.Z)
@c Speak about recode.  (recode-2.3.4.tar.Z)
@c Speak about shellutils.  (shellutils-1.8.tar.Z)
@c Speak about UUCP.  (taylor-uucp-1.03.tar.Z)
@c Speak about patch.  (patch-2.0.12g8.tar.Z)
@c Speak about compress.  (compress-4.0.1.shar)
@c Give precise installation directives for all.
@c Explain where the ghostscript documentation is.
@c Explain where the less documentation is.
@c Explain where the chess documentation is.

@ifinfo
This file documents the GNUish MSDOS project, which has the purpose of
providing the feeling of a GNUish environment to MSDOS users.

Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Free Software Foundation.
@end ifinfo

@titlepage
@title GNUish MSDOS
@subtitle The GNUish MSDOS Project
@subtitle January 20th, 1993 Edition
@c Note date also appears below.
@author by Francois Pinard

@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1990, 1991, 1992, 1993 Free Software Foundation

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by Free Software Foundation.
@end titlepage

@ifinfo
@node Top, Project Definition, (dir), (dir)
@top Introduction

This is the @file{MSDOS.info} file for the GNUish MSDOS project, which
has been last updated 20 January 1993.
@c Note date also appears above.
@end ifinfo

You can retrieve a copy of this file by anonymous ftp from
@file{prep.ai.mit.edu} [18.71.0.38] in directory
@file{pub/gnu/MicrosPorts}, as file @file{MSDOS.texinfo} for the
@code{Texinfo} source and file @file{MSDOS.info} for an already
formatted @code{Info} version.

Please help the community by kindly reporting all errors or omissions in
this document; for doing so, email to @file{pinard@@iro.umontreal.ca}.
You might also want to contact other authors or contributors: a list of
email addresses is given elsewhere in this document (@pxref{Contributors
Addresses}).

GNUish MSDOS was first organized with small IBM PC's in mind, that is,
8088 and 80286 based systems.  For 80386 or 80486 based systems, you
should rather take a close look at DJ Delorie's works and derivatives;
these ports have their own set of mailing lists and distribution points.
@xref{cc}, for more information.  For OS/2 ports, people should follow
the works of Kai Uwe Rommel and Eberhard Mattes; I've also heard that
many OS/2 ports could be easily made usable under MSDOS with a special
link step on OS/2.

This document is the work of various people, collected by Francois
Pinard.  The FSF disclaimer (@pxref{Project Definition}) is from Richard
Stallman.

This document contains the following sections:

@menu
* Project Definition::          Project Definition
* Legal Conditions::            Legal Conditions
* Diskettes::                   Distribution on Diskettes
* Archiving Formats::           Archiving Formats
* FTP Archive Sites::           FTP Archive Sites
* GNUish Msdos Contents::       GNUish Msdos Contents
* Project Mailing Lists::       Project Mailing Lists
* Historical Notes::            Historical Notes
* Contributors Addresses::      Contributors Addresses

 --- The Detailed Node Listing ---

GNUish Msdos Contents

* awk::                         awk
* cc::                          cc
* compress::                    compress
* cpio::                        cpio
* ctags::                       ctags
* diff::                        diff
* emacs::                       emacs
* find::                        find
* ghostscript::                 ghostscript
* grep::                        grep
* gzip::                        gzip
* indent::                      indent
* less::                        less
* lex::                         lex
* m4::                          m4
* make::                        make
* patch::                       patch
* perl::                        perl
* ptx::                         ptx
* rcs::                         rcs
* sed::                         sed
* sh::                          sh
* shar::                        shar
* sort::                        sort
* tar::                         tar
* texinfo::                     texinfo
* utilities::                   file/text utilities
* yacc::                        yacc
* zoo::                         zoo
* dbm_3::                       dbm_3
* libc_3::                      libc_3
* chess_6::                     chess_6
@end menu

@node Project Definition, Legal Conditions, Top, Top
@chapter Project Definition

The Free Software Foundation (FSF) is not directly interested in
integrating or maintaining ports of GNU software to MSDOS, because of
limited resources.  These activities take time away from finishing a
complete standalone GNU, which FSF and many in the GNU Project considers
much more important.

However, the organized distribution of such ports started, a few years
ago, under the name @dfn{GNUish MSDOS project}.  The overall idea is to
provide a GNU like environment for MSDOS, easy to get, and easy to
install, as far as possible.  It contains both MSDOS ports of GNU
software, as well as MSDOS replacements for non-ported GNU software.

The GNUish MSDOS project wants to consider itself as part of the GNU
project, rather than a mere aggregation of binaries.  The non-GNU
replacements are expected to somewhat comply with the GNU spirit and
standards.  Ideally, all code should be under the GNU General Public
License, should try conforming to the GNU coding standards, and also be
fully ANSI.  The programs should be such that MSDOS users can be
convinced of the virtues of free software!

The GNU General Public License article 3a) requires that the complete
source code be available where programs are distributed in object code
or executable form.  For convenience, ready-to-execute binaries are also
provided for those who do not have the necessary compilers, or do not
feel like using them.

When several ports of the same tool exist, one of them has been selected
for inclusion in this documentation.  This does not means that the
selected port is the best possible, it means however that the port seems
to be good.  Nobody should feel offended by any selection.  Questions
regarding the GNUish MSDOS project should be directed to the mailing
list:

@example
help-gnu-msdos@@sun.soe.clarkson.edu
@end example

@xref{Project Mailing Lists}, for how to subscribe.

The GNUish MSDOS project originated from Thorsten Ohl.  It has been
moderated by Thorsten from its beginning and for a long while.  Thorsten
originally thought than, giving the project a solid initial impulse, it
would bring enough enthousiasm so other programmers will share the
porting duties.  It now seems that the enthousiasm was more on the
users' side than the programmers' side.  In these days, many parts of
GNUish MSDOS are almost completely dormant, and most products are quite
old relative to the current GNU versions.  Notably alive, however, are
Mike Brennan's mawk, then Len Reed and Stuart Phillips ports of Perl.

On the 80386/80486 side, DJ Delorie astonishing work on GNU C/C++ gave a
new momentum for other MSDOS ports.  Besides a variety of libraries, we
should especially underline the Manabu Higashida and Hirano Satoshi port
of GNU Emacs to MSDOS.


@node Legal Conditions, Diskettes, Project Definition, Top
@chapter Legal Conditions

Some tools are possibly dangerous if you do not thoroughly understand
their usage (v.g. @samp{rm -r *}).  You ought to know what you are doing.
YOU USE THESE TOOLS AT YOUR OWN RISK.  You @emph{were} warned!

All these programs are free software; you can redistribute them and/or
modify them under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 1, or (at
your option) any later version.

These programs are distributed in the hope that they will be useful, BUT
WITHOUT ANY WARRANTY WHATSOEVER, without even the implied warranties of
merchantability or fitness for a particular purpose.  See the GNU
General Public License (the file @file{COPYING}) for more details.

You should have received a copy of the GNU General Public License
along with GNUish MSDOS programs; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA or e-mail to
@file{gnu@@prep.ai.mit.edu}.


@node Diskettes, Archiving Formats, Legal Conditions, Top
@chapter Distribution on Diskettes

The FSF is now distributing some of the GNU software that has been
ported to MS-DOS on 3.5 inch, 1.44MB diskettes.  The disks contain
both source and executables.

Of course, there are deep differences between GNU and MSDOS, so some of
these utilities are necessarily missing features on MSDOS.

For the 80386 and 80486 only, there are ports of GNU Emacs
(@pxref{emacs}) and GNU C/C++ (@pxref{cc}).  The following software will
run on 8086 and 80286--based machines; it does not require an 80386.
Bison (@pxref{yacc}), RCS (@pxref{rcs}), @code{flex} (@pxref{lex}), GAWK
(@pxref{awk}), @code{cpio} (@pxref{cpio}), @code{diff} (@pxref{diff}),
MicroEmacs (@pxref{emacs}), @code{find} (@pxref{find}), some file
utilities (@pxref{utilities}), @code{gdbm} (@pxref{dbm_3}), @code{grep}
(@pxref{grep}), @code{libc} (@pxref{libc_3}), @code{ptx} (@pxref{ptx}),
@code{indent} (@pxref{indent}), @code{less} (@pxref{less}), @code{m4}
(@pxref{m4}), @code{make} (@pxref{make}), @code{sed} (@pxref{sed}),
@code{shar} (@pxref{shar}), @code{sort} (@pxref{sort}), and Texinfo
(@pxref{texinfo}).

@node Archiving Formats, FTP Archive Sites, Diskettes, Top
@chapter Archiving Formats

Traditionally, GNUish MSDOS archives are made using Rahul Dhesi's
@code{zoo} archiver.  This archive format is popular and portable, used
in many places, notably for the Usenet @file{comp.binaries.ibm.pc}
exchange group.  The GNUish MSDOS project selected it because it works
both on MSDOS and UNIX, and all the sources are freely available.
Moreover, it offers a nice user interface and is dependable.

Some people wanted GNUish MSDOS to use @code{zip} for its better
compression, but @code{zip} was proprietary software at that time.  A
new version of @code{zoo} (version 2.1) offers a higher compression
rate, comparable to what @code{zip} can achieve.  About at the same
time, the @file{Info-ZIP} group produced a @code{zip} program available
in source form, and which work both on MSDOS and UNIX.  There are no
more big reasons for using one instead of another.

Also, some sites converted all of GNUish MSDOS to @code{ARC} or
@code{LHarc} format.  Instead of feeding an archivers war, let us simply
hope that each archive site will follow the GNU spirit and at least
offer the free archiver they use, both in executable and complete source
form.

Most packages consists of two archives, one for the complete source
and documentation, the other for the executable and data files;
however, it happens that the documentation is sometimes provided with
the executables.  The filename for a package archive is often selected
according to the following pattern:

@example
@var{program} @var{version} @var{edition} @var{sequence}.@var{extension}
@end example

In this syntax, @var{program} is a short string to identify the product,
e.g. @samp{futi} indicates GNU file utilities; while @var{version} is a
decimal integer naming the version, without any decimal point, v.g.
@samp{14} for 1.4, @samp{358} for 3.58; @var{edition} is @samp{a} for
the first release in GNUish MSDOS, then @samp{b}, @samp{c}, etc.  for
subsequent editions.  The value of @var{sequence} is the letter @samp{s}
for the source and documentation, or @samp{x} for executable and data
files.  When @var{extension} is @samp{zoo}, this usually refers to Zoo
version 2.1.


@node FTP Archive Sites, GNUish Msdos Contents, Archiving Formats, Top
@chapter FTP Archive Sites

The official GNU home is @file{prep.ai.mit.edu} [18.71.0.38] (problems
with @code{prep} should be reported to @file{gnu@@prep.ai.mit.edu}).
There is currently no room on @file{prep.ai.mit.edu} to put GNUish MSDOS
files up for ftp.  If @file{prep} get more disk space, they might become
available.  The collection of programs known as the GNUish MSDOS project
is still available for ftp at the following addresses.  Different
archiving sites might use different archivers.  The actual extension of
any given archive should give you a clue about which archiver to use.
[Upload directories are listed for the moderator's convenience only].

The expression @dfn{from the usual places}, later in this document, refers
to the three first sites of this list.

@itemize @bullet

@item
@file{ftp.iro.umontreal.ca} [132.204.32.22], in @file{pub/Internet/gnuish}.

Archives are uploaded there first.

@item
@file{vulcan.phyast.pitt.edu} [130.49.33.16], in @file{pub/gnuish}.

Archives are uploaded in [@file{incoming}] from the @code{iros1} copy,
then Roberto move them to their proper place.

@item
@file{wuarchive.wustl.edu} [128.252.135.4], in @file{systems/msdos/gnuish}.

Archives are uploaded in place directly from the @code{iros1} copy.

@item
@file{wsmr-simtel20.army.mil} [192.88.110.20], in @file{pd1:<msdos.gnuish>}.

David repacks from @file{.zoo} to @file{.arc} before uploading, because
SIMTEL20 (which uses TOPS20) does not support @file{.zoo} files.

@item
@file{funic.funet.fi} [128.214.6.100], in @file{pub/msdos/utilities/gnuish}.

Petri automatically gets new products from SIMTEL20, and repacks files
from @file{.arc} to @file{.lzh}.  [@file{pub/msdos/incoming}]

@end itemize

The organization and maintainance of the archive sites is the work of
Francois Pinard, Roberto Gomez, Petri Hartoma, David Camp, Keith
Petersen, Chris Myers, Dave Curry and Russ Nelson.


@node GNUish Msdos Contents, Project Mailing Lists, FTP Archive Sites, Top
@chapter GNUish Msdos Contents

The following contents for GNUish MSDOS is loosely organized along the
lines of related UNIX man pages.

@menu
* awk::                         awk
* cc::                          cc
* compress::                    compress
* cpio::                        cpio
* ctags::                       ctags
* diff::                        diff
* emacs::                       emacs
* find::                        find
* ghostscript::                 ghostscript
* grep::                        grep
* gzip::                        gzip
* indent::                      indent
* less::                        less
* lex::                         lex
* m4::                          m4
* make::                        make
* patch::                       patch
* perl::                        perl
* ptx::                         ptx
* rcs::                         rcs
* sed::                         sed
* sh::                          sh
* shar::                        shar
* sort::                        sort
* tar::                         tar
* texinfo::                     texinfo
* utilities::                   file/text utilities
* yacc::                        yacc
* zoo::                         zoo
* dbm_3::                       dbm_3
* libc_3::                      libc_3
* chess_6::                     chess_6
@end menu

@node awk, cc, GNUish Msdos Contents, GNUish Msdos Contents
@section awk

GNU @code{awk} current GNU version is 2.14.  There is a faster
@code{awk}, also distributed under the GNU General Public License,
written by Mike Brennan.  For the original distribution, fetch
executables in @file{mawk1.zip} and sources in @file{mawk1.1.tar.Z} from
@file{oxy.edu}, in @file{public}.  Or fetch executables and
documentation in @file{mawk11ax.zoo} and sources in @file{mawk11as.zoo}
from the usual places.

@node cc, compress, awk, GNUish Msdos Contents
@section cc

GNU C current GNU version is 2.3.3.  There is no port of GNU C available
for 8088 and 80286 systems, and it is very unlikely that there would
ever be one.  So, GNUish MSDOS is still relying on proprietary compilers
for its existence.  Currently, ports have been done using Microsoft C
compilers or Borland Turbo C/C++; it seems so far that Microsoft C
generates faster code, works better with huge pointers, and offers a
working @code{alloca()}; but promoting proprietary software is against
the GNU goals, any step in the direction of compiler independence would
be beneficial for the community.

GNU C had indeed been ported to 80386 MSDOS, under the name
@code{djgpp}, by DJ Delorie.  This opens wide doors for porting further
GNU software for 80386 systems under MSDOS, for those many GNU programs
requiring a fair amount of addressing space.  However, beware that
@code{djgpp} based ports always require a 80386 machine.

DJ Delorie made 32-bit 80386 MSDOS extender with symbolic debugger, and
using it, a complete port of GNU C/C++ compiler with utilities,
development libraries, and source code.  It generates full 32-bit
programs and supports full virtual memory with paging to disk.  It
requires at least 5MB of hard disk space to install, and 512K of RAM to
use.  It is compatible with XMS memory managers and VCPI, but not with
Microsoft Windows extended mode or other DPMI managers.  It cannot
emulate multitasking (e.g. @code{fork(2)}) or signals.

All this can be anonymously ftp'ed from @file{barnacle.erc.clarkson.edu}
[128.153.28.12] in @file{pub/msdos/djgpp}. First fetch and carefully
read the three files @file{readme.1st}, @file{readme} and @file{faq}
from that directory; or else the cumulative file @file{MSDOS.gcc} from
@file{prep.ai.mit.edu} [18.71.0.38], in @file{pub/gnu/MicrosPorts}.
File @file{README.gcc} should also be available from the usual places.

@node compress, cpio, cc, GNUish Msdos Contents
@section compress

@code{compress} current GNU version is 4.0.1.  GNUish MSDOS has not
selected any current port yet, but many are available.

@node cpio, ctags, compress, GNUish Msdos Contents
@section cpio

GNU @code{cpio} current GNU version is 2.2.  Version 1.1 has been ported
to MSDOS by Thorsten Ohl.  Fetch executables in @file{cpio11ax.zoo} and
sources and documentation (inside @file{readme}) in @file{cpio11as.zoo}
from the usual places.  You also need Thorsten Ohl's @file{gnulib} to
compile it.

Working on GNU cpio port:
@example
92-02-24 Matthew J. D'Errico <doc@@magna.com> 
@end example

@node ctags, diff, cpio, GNUish Msdos Contents
@section ctags

GNU @code{[ce]tags} current GNU version comes from GNU Emacs
distribution, currently 18.59.  Russ Nelson made a version for Freemacs.
For the original distribution, fetch @file{etags.zip} from
@file{grape.ecs.clarkson.edu} [128.153.28.129], in
@file{pub/msdos/freemacs}. Or fetch the executables, sources and
documentation as @file{etags.zoo} from the usual places.

@node diff, emacs, ctags, GNUish Msdos Contents
@section diff

GNU @code{diff} current GNU version is 2.0.  Version 1.15 has been
ported to MSDOS by Thorsten Ohl, using Microsoft C v5.1 or v6.0.  Fetch
executables in @file{dif115ax.zoo} and sources in @file{dif115as.zoo}
from the usual places.  There is no documentation.

There is a 386/468 port of GNU diff 1.15 in the djgpp package.

@node emacs, find, diff, GNUish Msdos Contents
@section emacs

GNU Emacs current GNU version is 18.59.  There is no port of GNU
@code{emacs} available for 8088 and 80286 systems, and it is very
unlikely that there would ever be one.  Any Emacs for small MSDOS
systems only implements a tiny subset of the true thing.

Russ Nelson's Freemacs is closest in spirit to the real thing, by
providing a full extension language.  Version 1.6a can be gotten from
various places (@code{clarkson}, @code{wustl}, @code{simtel}, @dots{}).
It is made of a @code{MINT} interpreter written in 8088 assembler, and
of several @code{MINT} code application files to drive @code{emacs}
modes.  @code{MINT} has no relation to GNU Emacs LISP and limits itself
to 64k per file.  For the original distribution, fetch all from
@file{grape.ecs.clarkson.edu} [128.153.28.129], in
@file{pub/msdos/freemacs}. Or fetch the executables code as
@file{emacs16a.zoo} (plus @file{emacs100.zoo} for a Zenith Z-100) and
the sources as @file{emac16as.zoo}, from the usual places; also fetch
some EGA utilities as @file{emacsega.zoo} and a spelling checker as
@file{emacspel.zoo}. You might want to fetch @file{emacspat.zoo} too for
a few patches, applied by Freemacs itself.

Jonathan Payne's Jove, on the other side, is not extendable, but can
handle surprisingly big files on MSDOS.  It is well featured and
reasonably fast.  It can be made almost comfortable to GNU Emacs users,
given a proper @file{jove.rc}.

GNU Emacs has indeed been ported to 80386 MSDOS by Manabu Higashida and
Hirano Satoshi, under the name Demacs, using DJ Delorie port of GNU C.
The current version is 1.2.0, 91-12-12, and corresponds to Emacs 18.55
with some changes from Emacs 18.57.  One version handles 8-bit
characters sets, the other, based on Nemacs, handles 16-bit character
sets, including Kanji.  It is compatible with XMS memory managers and
VCPI, but not with Microsoft Windows extended mode or other DPMI
managers.  Fetch binaries and diffs from @file{utsun.s.u-tokyo.ac.jp},
in @file{GNU/demacs}.  First fetch and carefully read the file
@file{README} from that directory; or else the file @file{MSDOS.emacs}
from @file{prep.ai.mit.edu} [18.71.0.38], in @file{pub/gnu/MicrosPorts}.
File @file{README.emacs} should also be available from the usual places.

Craig Finseth maintains a list of Emacs Implementations and Literature;
fetch @code{emacs} from @file{mail.unet.umn.edu} [128.101.101.103], in
@file{import/fin}.

Eberhard Mattes writes that GNU Emacs for OS/2 2.0 is available on
@file{ftp-os2.nmsu.edu} and on @file{ftp.uni-stuttgart.de} in
@file{soft/os2} as @file{emacs-18.58.3}.

@node find, ghostscript, emacs, GNUish Msdos Contents
@section find

GNU @code{find} current GNU version is 3.7, comprising: @code{find},
@code{locate} and @code{xargs}.  Version 1.2 has been ported to MSDOS by
Thorsten Ohl.  Fetch executables in @file{find12ax.zoo} and sources and
some documentation (inside @file{readme}) in @file{find12as.zoo} from
the usual places.  You also need Thorsten Ohl's @file{gnulib} to compile
it.  Fetch @file{find12.zoo} from the usual places.

@node ghostscript, grep, find, GNUish Msdos Contents
@section ghostscript

Get executables in @file{ghostscript-2.5.2msdos.exe} and sources in
@file{ghostscript-2.5.2.tar.Z} from @file{prep.ai.mit.edu} [18.71.0.38],
in @file{pub/gnu}. You might need @file{ghostscript-fonts-2.5.2.tar.Z}
from the same place.

@node grep, gzip, ghostscript, GNUish Msdos Contents
@section grep

GNU @code{fgrep} current GNU version is 1.1.  Version 1.1 has been
ported to MSDOS by Thorsten Ohl.  Fetch executables in
@file{fgre11ax.zoo} and sources in @file{fgre11as.zoo} from the usual
places.  There is no documentation.

GNU @code{grep} current GNU version is 1.6 (+patch), comprising:
@code{grep} and @code{egrep}.  Version 1.5 has been ported to MSDOS by
Thorsten Ohl.  Fetch executables in @file{grep15ax.zoo} and sources in
@file{grep15as.zoo} from the usual places.  There is no documentation.

@node gzip, indent, grep, GNUish Msdos Contents
@section gzip

GNU @code{gzip} current GNU version is 0.7.  Version 0.7 has been ported
to MSDOS by Jean-loup Gailly, the @code{gzip} author.  Fetch executables
and documentation in @file{gzip07ax.zoo} and sources in
@file{gzip07as.zoo} from the usual places.

@node indent, less, gzip, GNUish Msdos Contents
@section indent

GNU @code{indent} current GNU version is 1.6.  Version 1.1 has been
ported to MSDOS by Thorsten Ohl.  Fetch executables in
@file{inde11ax.zoo} and sources and Texinfo unformatted documentation in
@file{inde11as.zoo} from the usual places.

@node less, lex, indent, GNUish Msdos Contents
@section less

@code{less} current GNU version is 177.  Version 177 has been ported to
MSDOS by Mark Lord, using Borland C.  For the original distribution,
fetch executables and sources in @file{less177e.zip} from
@file{wuarchive.wustl.edu} in @file{mirrors/msdos/txtutl}. Or fetch
executables in @file{les177ax.zoo} and sources in @file{les177as.zoo}
from the usual places.

@node lex, m4, less, GNUish Msdos Contents
@section lex

Fast @code{lex} current GNU version is 2.3.7.  Version 2.3.6 has been
ported to MSDOS by Thorsten Ohl.  Fetch executables in
@file{fle236ax.zoo} and sources and roff unformatted documentation in
@file{fle236as.zoo} from the usual places.  You also need Thorsten Ohl's
@code{gnulib} to compile it.

@node m4, make, lex, GNUish Msdos Contents
@section m4

GNU @code{m4} current GNU version is 1.0.3.  Version 0.5 (also called
0.50) has been ported to MSDOS by Thorsten Ohl.  Fetch executables in
@file{m4v05ax.zoo} and sources and Texinfo unformatted or DVI ready
documentation in @file{m4v05as.zoo} from the usual places.  You also
need Thorsten Ohl's @code{gnulib} to compile it.

@node make, patch, m4, GNUish Msdos Contents
@section make

GNU @code{make} current GNU version is 3.62.  Version 3.58 has been
ported to MSDOS by Thorsten Ohl, using Microsoft C v6.0.  Fetch
executables in @file{mak358ax.zoo} and sources and Texinfo + roff
unformatted documentation in @file{mak358as.zoo} from the usual places.
You also need Thorsten Ohl's swapping library, fetch @file{swalibas.zoo}
from the usual places.  If you intend to recompile @code{make}, beware
that one patch has been lost for the makefile in @file{make358as.zoo},
so the makefile might not work as is.

Working on GNU make port:
@example
92-09-03 Pax Ken Holmberg <kenh@@tfs.com>
@end example

@node patch, perl, make, GNUish Msdos Contents
@section patch

Larry Wall's @code{patch} current GNU version is 2.0.12g8.  GNUish MSDOS
has not selected any current port yet, but many are available.

@node perl, ptx, patch, GNUish Msdos Contents
@section perl

Larry Wall's @code{Perl} current GNU version is 4.035.  Version 4.019
has been ported to by Stuart Phillips, using Borland C++ 3.0 and VROOM,
it works faster with extended memory.  For the original distribution,
fetch executables in @file{bcv14_perl4-019E.zip} and sources in
@file{bcv14_perl4-019.zip} plus @file{xspawn34.zip} from
@file{tandem.com} [130.252.12.8], in @file{pub/perl}. Or fetch
executables in @file{pl4019ax.zoo} and sources in @file{pl4019as.zoo}
from the usual places.  There is no documentation.

Also, version 4.000 has been ported to MSDOS by Len Reed.  Fetch
executables in @file{perl_exe.zoo} from @file{eeserv.ee.umanitoba.ca}
[130.179.8.1] in @file{pub/msdos/perl}.

@node ptx, rcs, perl, GNUish Msdos Contents
@section ptx

GNU @code{ptx} current GNU version is 0.2.  Version 0.1 has been ported
to MSDOS by Thorsten Ohl.  Fetch executables in @file{ptx01ax.zoo} and
sources and documentation in @file{ptx01as.zoo} from the usual places.

@node rcs, sed, ptx, GNUish Msdos Contents
@section rcs

GNU Revision Control System current GNU version is 5.6.  Version 5.5 has
been ported to MSDOS by Stuart Phillips.  For the original distribution,
fetch sources and executables in @file{rcs55.zip} from
@file{wuarchive.wust.edu}, in @file{mirrors/msdos/pgmutil}. Or fetch
executables in @file{rcs55ax.zoo} and sources and roff unformatted
documentation in @file{rcs55as.zoo} from the usual places.

@node sed, sh, rcs, GNUish Msdos Contents
@section sed

GNU @code{sed} current GNU version is 1.13.  Version 1.06 has been
ported to MSDOS by Thorsten Ohl.  Fetch executables in
@file{sed106ax.zoo} and sources in @file{sed106as.zoo} from the usual
places.  You also need Thorsten Ohl's @file{gnulib} to compile it.
There is no documentation.

@node sh, shar, sed, GNUish Msdos Contents
@section sh

GNU @code{bash} current GNU version is 1.12.  There is no port of GNU
@code{bash} available to 8088 and 80286 systems yet, but the techniques
used in @code{perl} (@pxref{perl}) and @code{make} (@pxref{make}) make
it in principle possible to run programs of this size under MSDOS.

Ian Stewartson ported the Charles Forsyth @code{sh} from MINIX to MSDOS,
using Microsoft C v5.1.  For the original distribution, fetch
executables in @file{ms_sh164.zip} from @file{wuarchive.wustl.edu}, in
@file{mirrors/msdos/sysutl}; fetch sources from @file{comp.sources.misc}
in Volume 10 issues 053-059, Volume 12 issues 019-026, Volume 13 issues
079-080, Volume 14 Issues 065-066, Volume 16 Issues 078-079.  Or fetch
executables and documentation in @file{sh164ax.zoo} and sources in
@file{sh164as.zoo} from the usual places.

@node shar, sort, sh, GNUish Msdos Contents
@section shar

@code{shar} current version is 3.49.  It has been distributed through
@file{alt.sources} on 90-09-24.  Version 3.49 has been ported to MSDOS
by Thorsten Ohl.  Fetch executables in @file{sha349ax.zoo} and sources
and roff unformatted documentation in @file{sha349as.zoo} from the usual
places.

@node sort, tar, shar, GNUish Msdos Contents
@section sort

GNU @code{sort} current GNU version is found within GNU Text Utilities
version 1.3.  A prerelease of version 0.3 has been ported to MSDOS by
Thorsten Ohl.  Fetch executables and documentation in
@file{sort03ax.zoo} and sources in @file{sort03as.zoo} from the usual
places.

@node tar, texinfo, sort, GNUish Msdos Contents
@section tar

GNU @code{tar} current GNU version is 1.11.1.  GNUish MSDOS has not
selected any current port yet, but many are available.

@node texinfo, utilities, tar, GNUish Msdos Contents
@section texinfo

GNU @code{texinfo} current GNU version is 2.16, comprising: @code{info},
@code{makeinfo}, @code{texi2dvi}, @code{texindex} and extensive related
code written in GNU Emacs LISP.  Prereleased versions of @code{info} and
@code{makeinfo} have been ported to MSDOS by Thorsten Ohl.  Fetch
executables in @file{texi10ax.zoo} and sources in @file{texi10as.zoo}
from the usual places.  There is no documentation.

@node utilities, yacc, texinfo, GNUish Msdos Contents
@section file/text utilities

GNU File Utilities current GNU version is 3.4, comprising: @code{chgrp},
@code{chmod}, @code{chown}, @code{cp}, @code{dd}, @code{df}, @code{dir},
@code{du}, @code{install}, @code{ln}, @code{ls}, @code{mkdir},
@code{mkfifo}, @code{mknod}, @code{mv}, @code{rm}, @code{rmdir},
@code{touch} and @code{vdir}.  GNU Text Utilities current GNU version is
1.3, comprising: @code{cat}, @code{cmp}, @code{comm}, @code{csplit},
@code{cut}, @code{expand}, @code{fold}, @code{head}, @code{join},
@code{nl}, @code{paste}, @code{pr}, @code{sort}, @code{split},
@code{sum}, @code{tac}, @code{tail}, @code{tr}, @code{unexpand},
@code{uniq} and @code{wc}.

GNU Text Utilities historically emerged from GNU File Utilities; and
version 1.4 have been ported to MSDOS by Thorsten Ohl before this split
has been done.  The ported programs are: @code{cat}, @code{chmod},
@code{cmp}, @code{cp}, @code{cut}, @code{dd}, @code{dir}, @code{head},
@code{ls}, @code{mkdir}, @code{mv}, @code{paste}, @code{rmdir},
@code{tac}, @code{tail}, @code{touch}, @code{vdir} and @code{rm}.  Fetch
executables and roff unformatted (or Texinfo, through a Perl script)
documentation in @file{futi14ax.zoo} and sources in @file{futi14as.zoo}
from the usual places.

The GNU @code{sort} program is documented elsewhere (@pxref{sort}).

@node yacc, zoo, utilities, GNUish Msdos Contents
@section yacc

GNU @code{bison} current GNU version is 1.19.  This version compiles
without changes on MSDOS.  Fetch sources in @file{bison-1.19.tar.Z} from
@file{prep.ai.mit.edu} [18.71.0.38], in @file{pub/gnu}.

Since @code{bison} is used to produce C source which will further be
compiled, it is assumed that a @code{bison} user has a C compiler, thus
s/he can compile bison itself from sources.  This why bison executables
are not generally available for MSDOS.  The following patch is reported:

@example
*** files.c~	Thu Nov 19 15:12:52 1992
--- files.c	Thu Nov 19 15:15:12 1992
***************
*** 389,394 ****
--- 389,395 ----
    if (actfile) unlink(actfile);
    if (tmpattrsfile) unlink(tmpattrsfile);
    if (tmptabfile) unlink(tmptabfile);
+   if (tmpdefsfile) unlink(tmpdefsfile);
  #endif /* MSDOS */
    exit(k);
  #endif /* not VMS */
@end example

@node zoo, dbm_3, yacc, GNUish Msdos Contents
@section zoo

Rahul Dhesi's barebone Zoo extractor version 2.0 has been distributed
through @file{comp.binaries.ibm.pc} (1 part: @file{v13i001}).  Fetch
@file{booz.exe} and @file{booz20.zoo} from the usual places.  Use
@file{booz.exe} under MSDOS to unpack the sources and documentation in
@file{booz20.zoo}.

Rahul Dhesi's full Zoo current version is 2.1 (also called 2.10).
Executables have been distributed in @file{comp.binaries.ibm.pc} (3
parts: v13i002-004), sources has been distributed through
@file{alt.sources} on 91-07-10 (14 parts).  Fetch the executables in
@file{zoo210.exe} and sources in @file{zoo210s.zoo} from the usual
places.  Execute the self extracting @file{zoo210.exe} under MSDOS to
unpack the zoo executables and documentation.  Unpack the sources with
the obtained @file{zoo.exe}.

@node dbm_3, libc_3, zoo, GNUish Msdos Contents
@section dbm_3

GNU @code{dbm} current GNU version is 1.5.  Version 1.4 has been ported
to MSDOS by Thorsten Ohl.  Fetch sources in @file{gdbm14as.zoo} from the
usual places.  There is no executables archive associated with GNU dbm.
There is no documentation.

@node libc_3, chess_6, dbm_3, GNUish Msdos Contents
@section libc_3

Many library routines frequently occurring in various GNU products have
been ported to MSDOS by Thorsten Ohl, to help other ports.  Fetch
sources in @file{gnulibas.zoo} from the usual places.  There is no
executables archive associated with Thorsten Ohl's @file{gnulib}.  There
is no documentation.

A swapping library has been developped by Thorsten Ohl, using Microsoft
C v6.0, to be used by some of his other GNU ports.  Fetch sources and
(@TeX{} unformatted?) documentation in @file{swalibas.zoo} from the
usual places.  There is no executables archive associated with Thorsten
Ohl's @file{swaplib}.

Note that this is not a complete @code{libc(3)}, but rather a small
collection of GNU specific routines.

@node chess_6,  , libc_3, GNUish Msdos Contents
@section chess_6

GNU @code{chess} current GNU version is 4.0.60.  This version should
compile without changes on MSDOS, please someone give me a pointer to an
already prepared executable.  Fetch sources in
@file{gnuchess-4.0.pl60.tar.Z} from @file{prep.ai.mit.edu} [18.71.0.38],
in @file{pub/gnu}.


@node Project Mailing Lists, Historical Notes, GNUish Msdos Contents, Top
@chapter Project Mailing Lists

There are some mailing lists to discuss MSDOS ports of GNU software.
They include:

@example
bug-gnu-msdos@@sun.soe.clarkson.edu     bug reports, enhancements
help-gnu-msdos@@sun.soe.clarkson.edu    questions and answers
info-gnu-msdos@@sun.soe.clarkson.edu    announcements, moderated
djgpp@@sun.soe.clarkson.edu             80386 djgpp discussions
@end example

To get on or off one of these lists, send a request to:

@example
listserv@@sun.soe.clarkson.edu
@end example

or, if you don't get a reply, to:

@example
bug-gnu-msdos-request@@sun.soe.clarkson.edu
help-gnu-msdos-request@@sun.soe.clarkson.edu
info-gnu-msdos-request@@sun.soe.clarkson.edu
djgpp-request@@sun.soe.clarkson.edu
@end example

Note: do @emph{not} send requests to the lists, only the
@samp{listserv}!

For example, to become subscribed to the list @samp{info-gnu-msdos},
send a message whose contents (not the @code{Subject}) is:

@example
add info-gnu-msdos
@end example

If you don't know how to use a @samp{listserv}, send it a request for
help.  Do this by sending it a mail message consisting of the word
@samp{help}, without quotes, of course.  If you don't get a reply,
include an Internet return address with the command @samp{path
user@@host.dom.ain}, replacing @samp{user@@host.dom.ain} with your
Internet email address.

The lists are not currently digestified, and are open to subscription by
anyone.  The @samp{info-gnu-msdos} mailing list is moderated by Russell
Nelson, solely to ensure that only announcements get sent to the list
(and not requests!).  Problems with the mailing lists should be directed
to the appropriate @samp{-request} list.  For the newcomers: an Internet
standard for mailing lists is to provide a mail alias that has the same
name as the list, with @samp{-request} appended, e.g.
@samp{info-gnu-msdos-request}.

Also, please consider these lists as GNU project subsidiary mailing
lists.  They were made up after the GNUish MSDOS project, not before,
and their intent is to help to keep to project moving, @emph{not} to
change its definition or meaning.  There are several lists already and
other means to discuss non-GNUish software for MSDOS; there are other
lists to discuss the pros and cons of the GNU project itself.  You can
nask @file{gnu@@prep.ai.mit.edu} for a description of these other
lists.

The mailing lists were organized by David Camp, Len Tower, Russ
Nelson and DJ Delorie.


@node Historical Notes, Contributors Addresses, Project Mailing Lists, Top
@chapter Historical Notes

Thorsten Ohl started his ports in November 1989, in Germany, while the
Berlin Wall was falling.  He subscribed at some GNU mailing lists and,
for correspondants wanting his MSDOS ports, organized a distribution
list based on email and still located in Germany.  In 1990, around
spring, the unusual quality of Thorsten ports was being recognized, and
a few FTP sites organized to hold them (@code{vulcan}, @code{simtel},
@code{wuarchive}, @code{ocf}, @code{funic}); during the summer, the
mailing lists were created.  Thorsten stopped actively porting GNU
products to MSDOS in September 1990, to finish his PhD and continue his
research in theoretical high energy physics.  He has now joined the
endless list of people who support GNU by using GNU software on their
UNIX workstations and contribute bug reports and (occasionally) fixes.

At this point, the mailing lists, after an initial burst of intense
activity and many debates, became very quiet, and nothing really new got
added to the GNUish MSDOS archives.  DJ Delorie released his 80386 port
of GNU C/C++, and GNU Emacs itself was ported to 80386 under the name
Demacs.

In February 1992, the archives were reorganized to better comply with
the GPL, which requires the sources to be fully available at the
distribution points.  Ports from Russell Nelson and Stuart Phillips were
integrated in the project.


@node Contributors Addresses,  , Historical Notes, Top
@chapter Contributors Addresses

Here are the electronic addresses of all people quoted elsewhere in
this document:

@example
Chris Myers @file{chris@@wugate.wustl.edu}
Craig A. Finseth @file{fin@@unet.umn.edu}
DJ Delorie @file{dj@@ctron.com}
David A. Curry @file{davy@@erg.sri.com}
David J. Camp @file{david@@wubios.wustl.edu}
Eberhard Mattes @file{mattes@@azu.informatik.uni-stuttgart.de}
Francois Pinard @file{pinard@@iro.umontreal.ca}
Hirano Satoshi @file{hirano@@tkl.iis.u-tokyo.ac.jp}
Ian Stewartson @file{istewart@@datlog.co.uk}
Jonathan Payne
Kai Uwe Rommel @file{rommel@@informatik.tu-muenchen.de}
Keith Petersen @file{w8sdz@@wsmr-simtel20.army.mil}
Len Reed @file{holos0!lbr@@gatech.edu}
Leonard Tower Jr. @file{tower@@prep.ai.mit.edu}
Manabu Higashida @file{manabu@@sigmath.osaka-u.ac.jp}
Mark Lord @file{mlord@@bnr.ca}
Mike Brennan @file{brennan@@boeing.com}
Petri Hartoma @file{msdos1@@nic.funet.fi}
Rahul Dhesi @file{dhesi@@cirrus.com}
Richard Stallman @file{rms@@gnu.ai.mit.edu}
Roberto Gomez @file{roberto@@bondi.phyast.pitt.edu}
Russell Nelson @file{nelson@@sun.soe.clarkson.edu}
Stuart Phillips @file{stu@@tandem.com}
Thorsten Ohl @file{ohl@@gnu.ai.mit.edu}
@end example

@bye
