The GNUish Project

Copyright (C) 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.

You can retrieve a copy of this file by anonymous ftp from `wuarchive.wustl.edu' in directory `systems/msdos/gnuish', as file `gnuish.tex' for the Texinfo source and file `gnuish.inf' for an already formatted Info version.

Please help the community by kindly reporting all errors or omissions in this document to the current maintainer. You might also want to contact other authors or contributors: a list of email addresses is given elsewhere in this document (see section Contributors Addresses).

GNUish MSDOS was first organized with small IBM PC's in mind, that is, 8088 and 80286 based systems. Currently, GNUish contains both OS/2 and DOS ports to small machines (most of the OS/2 ports also run under DOS). The work will be called "The GNUish Project" in this document.

For the most part, users of 32-bit systems such as the 80386 should should rather take a close look at one of the newer environments based on GNU software (see section Project Mailing Lists).

This document is the work of various people, collected by Darrel Hankerson (current maintainer) and Francois Pinard. The FSF disclaimer (see section Project Definition) has been edited; the original from Richard Stallman appears in the GNUish93 snapshot.

This document contains the following sections:

Project Definition

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

However, the organized distribution of such ports started around 1989, under the name GNUish MSDOS. The overall idea is to provide a GNU-like environment for small systems running OS/2 and DOS, easy to get, and easy to install, as far as possible. It contains both ports of GNU software, as well as replacements for non-ported GNU software.

The GNUish 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 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.

Occasionally, multiple versions of the same program are retained in the collection. Some of this is due to the addition of 16bit OS/2 archives in 1996 (most of these also run under DOS). In addition, authors often implement differing solutions to various limitations of OS/2 and DOS, and it is beneficial to retain these versions.

The GNUish project originated from Thorsten Ohl. It was moderated by Thorsten from its beginning and for a long while. Thorsten originally thought then, giving the project a solid initial impulse, it would bring enough enthusiasm so other programmers will share the porting duties. It now seems that the enthusiasm was more on the users' side than the programmers' side. In these days, many parts of GNUish are almost completely dormant, and most products are quite old relative to the current GNU versions.

The mailing lists associated with GNUish are now completely gone. Fine programming went into GNUish, and the project exists now as a home for the original work (in the `GNUish93' directory) and new work which is GNUish-like. The main interest, as always, is in ports of GNU software to 286-class machines. However, some software has been recently added which users have found essential in the creation of ports. As always, additions to GNUish must meet the spirit of the project.

On the 80386/80486 side, work by DJ Delorie, Michael Johnson, and Eberhard Mattes in bringing GNU C to DOS and OS/2 gave a new momentum for other ports. Besides a variety of libraries, we should especially underline the Manabu Higashida and Hirano Satoshi port of GNU Emacs to MSDOS.

Users with a 386-or-better are advised to consider one of the other environments based on GNU software (see section Project Mailing Lists).

Legal Conditions

Some tools are possibly dangerous if you do not thoroughly understand their usage (e.g., `rm -r *'). You ought to know what you are doing. YOU USE THESE TOOLS AT YOUR OWN RISK. You were warned!

Many of 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 `COPYING') for more details.

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

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 systems running OS/2 or DOS, so some of these utilities are necessarily missing features.

Information about the FSF and the GNU Project can be found via http://www.gnu.ai.mit.edu. To receive a copy of the GNU's Bulletin, send your name and address with your request to the Free Software Foundation, Inc., 675 Massachusetts Avenue, Cambridge MA 02139-3309. Enclosing a business-sized self-addressed stamped envelope ($0.52) and/or a donation of a few dollars is appreciated, but not required. If you're from outside the USA, sending a mailing label and enough International Reply Coupons for a package of about 100 grams is appreciated but not required.

Archiving Formats

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

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

Also, some sites converted all of GNUish to ARC or 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.

The current maintainer has been urged by several of the major sites to use zip for all files in the collection, and to keep archive names in the "8+3" lower-case format (filenames within a zip archive are not subject to such restrictions). Some files remain in other formats, but eventually all will be converted.

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:

program version edition sequence.extension

In this syntax, program is a short string to identify the product, e.g. `futi' indicates GNU file utilities; while version is a decimal integer naming the version, without any decimal point, v.g. `14' for 1.4, `358' for 3.58; edition is `a' for the first release in GNUish, then `b', `c', etc., for subsequent editions. The value of sequence is the letter `s' for the source and documentation, or `x' for executable and data files. When extension is `zoo', this usually refers to Zoo version 2.1. The `tgz' extension is shorthand for `tar.gz', and both gzip (see section gzip) and tar (see section tar) will be required to "un-tgz."

FTP Archive Sites

The official GNU home is `prep.ai.mit.edu' (problems with prep should be reported to `gnu@prep.ai.mit.edu'). There is currently no room on `prep.ai.mit.edu' to put GNUish files up for ftp. If `prep' get more disk space, they might become available. The collection of programs known as the GNUish 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.

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

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

GNUish Project Contents

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

awk

GNU awk current GNU version is 3.0. OS/2 and DOS support is part of GNU awk, and is maintained by Scott Deifik, Darrel Hankerson, and Kai Uwe Rommel. Fetch executables in `gawk302x.zip' and sources in `gawk302s.zip' from the usual places.

There is another awk, also distributed under the GNU General Public License, written by Mike Brennan. The original distribution for mawk is available from `oxy.edu' in `public'. Minor changes for the GNUish OS/2 and DOS versions were done by Darrel Hankerson. Fetch executables in `mawk122x.zip' and sources in `mawk122s.zip' from the usual places.

Historical: mawk was reportedly faster than gawk-2.14. Fetch executables and documentation in `mawk11ax.zoo' and sources in `mawk11as.zoo' from the usual places.

bc

GNU bc current GNU version is 1.03. Version 1.02 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `gnubc.zip' from the usual places.

bison

GNU bison current GNU version is 1.25. Since bison is used to produce C source which will further be compiled, it is assumed that a bison user has a C compiler, thus she can compile bison itself from sources. However, Scott Deifik's port of bison-1.25 to DOS and OS/2 is part of GNUish. Fetch executables in `biso125x.zip' and sources in `biso125s.zip' from the usual places.

Kai Uwe Rommel's port of bison-1.10 to OS/2 and DOS has been retained. Fetch `bison110.zip' from the usual places.

Historical: bison-1.19 compiles without changes on MSDOS. Fetch sources in `bison-1.19.tar.Z' from `prep.ai.mit.edu', in `pub/gnu'. The following patch is reported:

*** 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 */

cc

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 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 alloca(); but promoting proprietary software is against the GNU goals, any step in the direction of compiler independence would be beneficial for the community.

For users with a 386 or better, see section Project Mailing Lists for information on the outstanding ports of GNU C to OS/2 and DOS.

compress

For a number of reasons, including performance and patent restrictions, GNU gzip (see section gzip) was developed as a compress replacement. gzip can `uncompress' files created by compress, but cannot create such files. Although gzip is preferred, the compress port from Kai Uwe Rommel is available as `compre42.zip' from the usual places.

cpio

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

ctags

GNU [ce]tags current GNU version comes from GNU Emacs distribution, currently 19.30. Russ Nelson made a version for Freemacs. Fetch the executables, sources and documentation as `etags.zoo' from the usual places.

diff

GNU diff current GNU version is 2.7 (now part of diffutils). Version 2.3 has been ported to DOS by Helge Oldach. Fetch executables in `diff23x.zip' and sources in `diff23s.zip' from the usual places.

Version 1.15 has been ported to MSDOS by Thorsten Ohl, using Microsoft C v5.1 or v6.0. Fetch executables in `dif115ax.zoo' and sources in `dif115as.zoo' from the usual places. There is no documentation.

See section rcs for another port of diff and diff3 by Kai Uwe Rommel.

emacs

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

John Davis' JED is an exceptional editor, and closest in spirit to the real thing. The S-Lang companion package provides a C-like extension language. OS/2 support was contributed by John Burnell and Darrel Hankerson, with additional contributions from Dominik Wujastyk.

OS/2 and DOS support is part of the main distribution at `space.mit.edu' in `pub/davis'. Or, fetch sources in `jed9713s.zip' and `slan9924.zip' and executables in `jed9713x.zip' from the usual places. These files correspond to versions 0.97-13 and 0.99-24 of JED and S-Lang, resp.

Russ Nelson's Freemacs is also close in spirit to the real thing, by providing a full extension language. It is made of a MINT interpreter written in 8088 assembler, and of several MINT code application files to drive emacs modes. MINT has no relation to GNU Emacs LISP and limits itself to 64k per file. Fetch the executables code as `emacs16a.zoo' (plus `emacs100.zoo' for a Zenith Z-100) and the sources as `emac16as.zoo', from the usual places; also fetch some EGA utilities as `emacsega.zoo' and a spelling checker as `emacspel.zoo'. You might want to fetch `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 `jove.rc'.

For users with at least a 386, outstanding ports of GNU Emacs to OS/2 (using emx) and DOS (using djgpp) have been done. Craig Finseth maintains a list of Emacs Implementations and Literature; look in `ftp://ftp.winternet.com/users/fin' or `http://www.winternet.com/~fin'.

file

The file utility attempts to determine the type of file based on its contents (the OS/2 port uses some additional tests). Ian Darwin's file version 3.9 has been ported to OS/2 and DOS by Darrel Hankerson, with contributions from Greg Roelofs and Jouni Miettunen. Fetch `file39a.zip' from the usual places.

A feature of shar (see section shar) requires file.

file utilities

GNU fileutils current GNU version is 3.12. Version 3.12 has been ported to DOS by Stephen McConnel. Fetch executables in `fut312bx.zip' and sources in `fut312bs.zip' from the usual places.

An earlier port to OS/2 and DOS by Kai Uwe Rommel has been retained as `gnufut21.zip'. Note that there was some reorganization of the text and file utilities after these ports were done (see section text utilities).

Historical: GNU Text Utilities historically emerged from GNU File Utilities, and version 1.4 had been ported to MSDOS by Thorsten Ohl before this split had been done. The ported programs are: cat, chmod, cmp, cp, cut, dd, dir, head, ls, mkdir, mv, paste, rmdir, tac, tail, touch, vdir and rm. A long-standing bug in the port of cp was corrected for the GNUish snapshot in 1996. Fetch executables in `futi14bx.zip' and sources in`futi14bs.zip' from the usual places. There is a Perl script included which can be used to format the manual pages.

find

GNU find current GNU version is 4.1 (now part of findutils), comprising: find, locate and xargs. Kai Uwe Rommel has ported version 3.2 to OS/2 and DOS. Fetch `find32.zip' from the usual places.

Historical: Version 1.2 has been ported to MSDOS by Thorsten Ohl. Fetch executables in `find12ax.zoo' and sources and some documentation (inside `readme') in `find12as.zoo' from the usual places. You also need Thorsten Ohl's `gnulib' to compile it. Fetch `find12.zoo' from the usual places.

ghostscript

Get executables in `ghostscript-2.6.1msdos.tar.gz' and sources in `ghostscript-2.6.2.tar.gz' from `prep.ai.mit.edu' in `pub/gnu'. You might need `ghostscript-fonts-2.6.2.tar.gz' from the same place. L. Peter Deutsch is the primary developer of Ghostscript.

gnuplot

gnuplot is an interactive program for plotting mathematical expressions and data. The official distribution site is `ftp.dartmouth.edu', and there is a www page at `http://www.cs.dartmouth.edu/gnuplot_info.html' with a reference manual and demos.

grep

GNU grep current GNU version is 2.0. Version 2.0 has been ported to DOS by Stephen McConnel. Fetch executables in `grep20ax.zip' and sources in `grep20as.zip' from the usual places.

Earlier ports to OS/2 and DOS by Kai Uwe Rommel have been retained as `fgrep11.zip' and `grep15.zip'.

Historical: Version 1.1 of fgrep has been ported to MSDOS by Thorsten Ohl. Fetch executables in `fgre11ax.zoo' and sources in `fgre11as.zoo' from the usual places. There is no documentation.

Version 1.5 of grep has been ported to MSDOS by Thorsten Ohl. Fetch executables in `grep15ax.zoo' and sources in `grep15as.zoo' from the usual places. There is no documentation.

groff

GNU groff current GNU version is 1.10. Ports to OS/2 for 32bit machines have been done by Kai Uwe Rommel. It is unlikely that there will be a port for 286 machines.

Henry Spencer's awk script awf provides a limited nroff-like capability. Vic Abell wrote cawf, a much faster and expanded version in C, and Darrel Hankerson ported to OS/2. An OS/2 and DOS version is available in `cawf407.zip' from the usual places.

gzip

GNU gzip current GNU version is 1.2.4. Fetch executables in `gzip124x.zip' and sources in `gzip124s.zip' from the usual places.

Historical: Version 0.7 has been ported to MSDOS by Jean-loup Gailly, the gzip author. Fetch executables and documentation in `gzip07ax.zoo' and sources in `gzip07as.zoo' from the usual places.

indent

GNU indent current GNU version is 1.9. Version 1.9.1 has been ported to DOS by James R. Shiflett. Fetch executables in `inden19x.zip' and sources in `inden19s.zip' from the usual places.

Version 1.2 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `gnuindnt.zip' from the usual places.

Version 1.1 has been ported to MSDOS by Thorsten Ohl. Fetch executables in `inde11ax.zoo' and sources and Texinfo unformatted documentation in `inde11as.zoo' from the usual places.

less

less current GNU version is 290. A build of 291 has been done by Stephen McConnel. Fetch executables in `less291x.zip' and sources in `less291s.zip' from the usual places.

Version 177 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `less177.zip' from the usual places.

Version 177 has been ported to MSDOS by Mark Lord, using Borland C. Fetch executables in `les177ax.zoo' and sources in `les177as.zoo' from the usual places.

lex

Fast lex current GNU version is 2.5.2. Version 2.3 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `flex23.zip' from the usual places.

Version 2.5.1 has been ported to DOS by Terry Kane. Fetch executables in `flex251x.zip' and sources in `flex251s.zip'.

Version 2.3.6 has been ported to DOS by Thorsten Ohl. Fetch executables in `fle236ax.zoo' and sources and roff unformatted documentation in `fle236as.zoo' from the usual places. You also need Thorsten Ohl's gnulib to compile it.

man

This is a replacement for Unix man, apropos, whatis, and manpath. John Eaton's man version 1.1 was ported to OS/2 by Darrel Hankerson. Fetch `man11a.zip' from the usual places.

m4

GNU m4 current GNU version is 1.4. Version 0.99 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `gnum4.zip' from the usual places.

Version 0.5 (also called 0.50) has been ported to MSDOS by Thorsten Ohl. Fetch executables in `m4v05ax.zoo' and sources and Texinfo unformatted or DVI ready documentation in `m4v05as.zoo' from the usual places. You also need Thorsten Ohl's gnulib to compile it.

make

Dennis Vadura's dmake is under the GPL, and has been widely used under OS/2 and DOS in porting GNU software. Fetch executables in `dmake38x.zip' and sources in `dmake38s.zip'.

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

Version 3.71 of GNU make has been ported to DOS by Morten Welinder. Fetch `gmake371.zip' from the usual places.

patch

Larry Wall's patch current GNU version is 2.1. Version 2.0 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `patch212.zip' from the usual places.

perl

Larry Wall's Perl current GNU version is 4.036. Version 4.019 has been ported to OS/2 and DOS by Raymond Chen and Kai Uwe Rommel, and is based on the DOS port by Diomidis Spinellis. Fetch `perl4019.zip' from the usual places.

Version 4.019 has been ported to DOS by Stuart Phillips, using Borland C++ 3.0 and VROOM, it works faster with extended memory. For the original distribution, fetch executables in `bcv14_perl4-019E.zip' and sources in `bcv14_perl4-019.zip' plus `xspawn34.zip' from `tandem.com' [130.252.12.8], in `pub/perl'. Or fetch executables in `pl4019ax.zoo' and sources in `pl4019as.zoo' from the usual places. There is no documentation.

Also, version 4.019 has been ported to MSDOS by Len Reed. Fetch executables in `perl_exe.zoo' from `ftp.ee.umanitoba.ca' in `pub/msdos/perl'.

ptx

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

rcs

GNU Revision Control System current GNU version is 5.7. Version 5.7 has been ported to OS/2 and DOS by Kai Uwe Rommel. For the original distribution, fetch `rcs57pc1.zip' and `rcs57pc2.zip' from `ftp.leo.org', in `pub/comp/os/os2/gnu'. Or, fetch the same files from the usual places.

This archive contains a port of diff and diff3 (see section diff).

Historical: Version 5.5 has been ported to MSDOS by Stuart Phillips. For the original distribution, fetch sources and executables in `rcs55.zip' from `wuarchive.wust.edu', in `mirrors/msdos/pgmutil'. Or fetch executables in `rcs55ax.zoo' and sources and roff unformatted documentation in `rcs55as.zoo' from the usual places.

recode

GNU recode converts between character sets and usages. Version 3.4 has been ported to DOS by Francois Pinard. Fetch executables in `rec34ax.zip' and sources in `rec34as.zip' from the usual places.

sc

The spreadsheet calculator sc version 6.21 has been ported to OS/2 and DOS by Darrel Hankerson. Fetch `sc621.zip' from the usual places.

sed

GNU sed current GNU version is 1.13. Version 1.06 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch `sed106.zip' from the usual places.

Version 1.06 has been ported to MSDOS by Thorsten Ohl. Fetch executables in `sed106ax.zoo' and sources in `sed106as.zoo' from the usual places. You also need Thorsten Ohl's `gnulib' to compile it. There is no documentation.

sh

GNU bash current GNU version is 1.14. There is no port of GNU bash available to 8088 and 80286 systems, and it is unlikely that there will ever be one.

Ian Stewartson ported the Charles Forsyth sh from MINIX to DOS and OS/2. Fetch executables in `ms_sh23b.zip' and sources in `ms_sh23s.zip' from the usual places. Stewartson's companion utilities for DOS appear in the same directory, and work well with sh.

Historical: Ian Stewartson ported the Charles Forsyth sh from MINIX to MSDOS, using Microsoft C v5.1. Fetch sources from `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 `sh164ax.zoo' and sources in `sh164as.zoo' from the usual places.

shar

GNU sharutils current version is 4.2. Version 3.49 of shar was distributed through `alt.sources' on 90-09-24. Version 3.49 has been ported to MSDOS by Thorsten Ohl. Fetch executables in `sha349ax.zoo' and sources and roff unformatted documentation in `sha349as.zoo' from the usual places.

Version 3.49 of shar has been ported to OS/2 by Darrel Hankerson. The sources from the MSDOS port were used as the starting point. Fetch `shar349.zip' from the usual places.

tar

GNU tar current GNU version is 1.11.8. Kai Uwe Rommel has ported version 1.09 to OS/2 and DOS. Fetch `gnutar.zip'.

texinfo

GNU texinfo current GNU version is 3.7, comprising: info, makeinfo, texi2dvi, texindex and extensive related code written in GNU Emacs LISP. Kai Uwe Rommel ported version 2.05 to OS/2 and DOS, using some of the earlier work of Thorsten Ohl. Fetch `gnuinf10.zoo' from the usual places.

Historical: Prereleased versions of info and makeinfo have been ported to MSDOS by Thorsten Ohl. Fetch executables in `texi10ax.zoo' and sources in `texi10as.zoo' from the usual places. There is no documentation.

text utilities

GNU textutils current GNU version is 1.13. Version 1.11 has been ported to DOS by Stephen McConnel. Fetch executables in `tut111ax.zip' and sources in `tut111as.zip' from the usual places.

An earlier port to OS/2 and DOS by Kai Uwe Rommel has been retained as `gnutut12.zip'. Note that there was some reorganization of the text and file utilities after these ports were done (see section file utilities).

Historical: A prerelease of sort version 0.3 has been ported to MSDOS by Thorsten Ohl. Fetch executables and documentation in `sort03ax.zoo' and sources in `sort03as.zoo' from the usual places.

uuencode and uudecode

Compilation for OS/2 and DOS was done by Darrel Hankerson. There are many such ports, but some are incomplete and will not work properly with shar (see section shar). Fetch `uuencode.zip' from the usual places.

zip and unzip

Info-ZIP current zip and unzip versions are 2.1 and 5.2, resp. Fetch sources from http://quest.jpl.nasa.gov/Info-ZIP. GNUish currently has version 5.12 of unzip for DOS, with sources in `unzi512s.zip' and executable in `unzi512x.exe' (self-extracting). OS/2 versions of zip 2.01 and unzip 5.0 appear with the OS/2-only files in GNUish: For zip, fetch sources in `zip201.zip' and executables in `zip201x1.zip'; for unzip, fetch sources in `unzip50s.zip' and `unzip50p.zip' and executables in `unz50x16.exe' (self-extracting).

zoo

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

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

dbm_3

GNU dbm current GNU version is 1.7. Version 1.5 has been ported by Kai Uwe Rommel. Fetch `gnudbm.zip' from the usual places.

Version 1.4 has been ported to MSDOS by Thorsten Ohl. Fetch sources in `gdbm14as.zoo' from the usual places. There is no executables archive associated with GNU dbm. There is no documentation.

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 `gnulibas.zoo' from the usual places. There is no executables archive associated with Thorsten Ohl's `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 `swalibas.zoo' from the usual places. There is no executables archive associated with Thorsten Ohl's `swaplib'.

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

chess_6

GNU chess current GNU version is 4.0.75. Version 4.0.60 was compiled for DOS by Chua Kong Sian. Fetch executables in `ches460x.zip' and sources in `ches460s.zip'.

Tim Mann maintains information on GNU chess and related material at http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html.

Historical: Reportedly, version 4.0.60 should compile without changes on MSDOS.

Project Mailing Lists

The original mailing lists for discussing MSDOS ports of GNU software no longer exist (they became quite inactive around 1992). The GNU project is primarily interested in 32-bit or better machines. Questions about 16-bit ports typically should not go on one of the GNU newsgroups, but may be appropriate on one of the OS/2 or DOS programming groups.

GNUish exists now as primarily an archive for the original GNUish ports (in the `GNUish93' directory), updated ports of GNU software, and some selected tools which assist in the creation of ports or are not available as GNU ports. Additions to the archive and corrections to this document are welcomed.

Users of 386 or better machines might consider Linux, emx, or djgpp; all are exceptional work based on GNU software.

Linux is a Unix-like environment based on the kernel by Linus Torvalds. There are many "distributions" consisting of the kernel, development tools, and applications. The Debian Project is a volunteer effort to create a high-quality distribution. Information on Debian can be found by www at http://www.debian.org.

Linux can run many DOS programs, but users interested in OS/2 and DOS may wish to examine the work of and Eberhard Mattes (emx) and DJ Delorie (djgpp) and derivatives; these ports have their own set of mailing lists and distribution points.

Users interested in the djgpp development environment can start with the web page http://www.delorie.com, or using anonymous ftp to retrieve appropriate files from `oak.oakland.edu' in `SimTel/vendors/gnu'. The newsgoup `comp.os.msdos.djgpp' is a good source of information.

Mattes' emx development package is available on `ftp.leo.org'. There is a mailing list for emx programming information. The listserver reports:

This mailing list is for users of Eberhard Mattes' emx development
environment.  It is the proper forum for questions about emx and 
also bug fixes, misc comments, and whatever pertains to emx.

The emx-list is managed internally by the Majordomo mailing-list
program. To be added or removed from the emx-list or to retrieve 
past articles posted to the emx-list please send mail to 
majordomo@IAEhv.nl. If you include the word "help" as the message
body, "listserv" will return a list of valid commands and options.

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 (vulcan, simtel, wuarchive, ocf, 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.

In January 1996, several existing 16bit OS/2 ports were added (most also run under DOS). Many of these were from Kai Uwe Rommel, who remarked that "[the work was not officially part of GNUish], although I had some mail exchange with Thorsten Ohl at this time. I was even asked to put up something to describe `GNUish OS/2' but didn't have time then."

A snapshot of the "original" GNUish MSDOS Project was placed in the `gnuish93' subdirectory. GNU awk and Davis' JED editor were added, along with a number of other utilities and updates.

Contributors Addresses

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

Vic Abell `abe@cc.purdue.edu'
Mike Brennan `brennan@boeing.com'
John Burnell `johnb@huia.grace.cri.nz'
David J. Camp `david@wubios.wustl.edu'
Raymond Chen `rjc@math.princeton.edu'
Chua Kong Sian `kongsian@nsrc.nus.sg'
David A. Curry `davy@erg.sri.com'
Ian Darwin `darwin@cs.toronto.edu'
John E. Davis `davis@space.mit.edu'
Scott Deifik `scottd@amgen.com'
DJ Delorie `dj@ctron.com'
L. Peter Deutsch, Aladdin Enterprises `ghost@aladdin.com'
Rahul Dhesi `dhesi@cirrus.com'
John Eaton `jwe@che.utexas.edu'
Craig A. Finseth `fin@unet.umn.edu'
Roberto Gomez `roberto@bondi.phyast.pitt.edu'
Darrel Hankerson `hankedr@mail.auburn.edu'
Petri Hartoma `msdos1@nic.funet.fi'
Manabu Higashida `manabu@sigmath.osaka-u.ac.jp'
Michael Johnson
Terry Kane `terryk@yacco.com'
Mark Lord `mlord@bnr.ca'
Tim Mann `mann@pa.dec.com'
Eberhard Mattes `mattes@azu.informatik.uni-stuttgart.de'
Jouni Miettunen `jon@stekt.oulu.fi'
Stephen McConnel `steve@acadcomp.sil.org'
Chris Myers `chris@wugate.wustl.edu'
Russell Nelson `nelson@sun.soe.clarkson.edu'
Thorsten Ohl `ohl@gnu.ai.mit.edu'
Helge Oldach `hmo@sep.hamburg.com'
Jonathan Payne
Keith Petersen `w8sdz@Simtel.Net'
Stuart Phillips `stu@tandem.com'
Francois Pinard `pinard@iro.umontreal.ca'
Len Reed `holos0!lbr@gatech.edu'
Greg Roelofs `newt@uchicago.edu'
Kai Uwe Rommel `rommel@ars.de'
Hirano Satoshi `hirano@tkl.iis.u-tokyo.ac.jp'
James R. Shiflett `shiflett@microtronics.com'
Henry Spencer `henry@zoo.toronto.edu'
Richard Stallman `rms@gnu.ai.mit.edu'
Ian Stewartson `istewart@datlog.co.uk' (obsolete)
Leonard Tower Jr. `tower@prep.ai.mit.edu'
Dennis Vadura `dvadura@watdragon.uwaterloo.ca'
Morten Welinder `terra@diku.dk'
Dominik Wujastyk `ucgadkw@ucl.ac.uk'