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 `ftp.simtel.net' in directory `pub/simtelnet/gnu/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.

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 32bit systems such as the 80386 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 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).

Contributing to the Project

This section contains instructions for submitting files for inclusion in the GNUish Project. Contributions are handled by the Project maintainer, and not directly by Simtel.Net (the primary mirror).

  1. Send email to the current maintainer gnuish@dms.auburn.edu briefly describing the contribution. A sample appears below.
  2. The contributions should be submitted in a zip archive (mime- or uu-encoded) in a separate email message to the maintainer. Simtel.Net needs the archive to adhere to an 8+3 naming format; e.g., gawk306x.zip for executables and gawk306s.zip for sources (the `x' and `s' are conventions used by GNUish). Files within the archive do not need to adhere to such restrictions.
  3. The maintainer will send an acknowledgment, along with possible requests for additional information, repackaging, etc.

Contributions must include complete sources required for building, and must meet the spirit of the GNU General Public License, although strict compatibility is not required.

The GNUish Project was designed to bring Unix-like programs to small systems runing DOS or OS/2. While some 32-bit programs are included and the collection continues to be the primary upload point for GNU awk on DOS, OS/2, and Win32, it is expected that there will be little new activity.

Example announcement

I have uploaded GNU awk 3.0.6 to the GNUish Project:

http://www.simtel.net/pub/simtelnet/gnu/gnuish/
ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish/
  gawk306x.zip   GNU Awk 3.0.6: Text scanning and processing language
  gawk306s.zip   Sources for gawk306x.zip (GNU awk)

Excerpted from the manual:

  The awk utility interprets a special-purpose programming language that
  makes it possible to handle simple data-reformatting jobs easily with
  just a few lines of code.

Executables provided:

  gawk.exe      16-bit DOS
  gawk-os2.exe  16-bit OS/2
  gawk-djg.exe  32-bit DOS (compiled with DJGPP)
  gawk-w32.exe  32-bit Win32 (compiled with MinGW)

These files have replaced gawk304x.zip and gawk304s.zip, respectively.

Uploaded by one of the coordinators for the DOS, OS/2, and Win32 ports
of GNU awk.

Darrel Hankerson hankedr@planet.earth
November 2000

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'.

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 site 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, DOS, and Win32 support is part of GNU awk, and is maintained by Scott Deifik, Darrel Hankerson, and Kai Uwe Rommel, with contributions from Juan Grigera for the Win32 Visual C version. Fetch executables in gawk306x.zip, sources in gawk306s.zip, and documentation in gawk306d.zip and gawk306h.zip (Windows help format) from the usual places.

GNU awk 3.0.4 remains available in gawk304x.zip, gawk304s.zip, and gawk304d.zip. The 3.0.4 files were updated in Jan 2000, although the names of the zip files were unchanged. A platform-independent bug in format specifiers was corrected, along with a bug in the way pipes were handled with some command.com-style processors (DOS, Windows) in the 16bit and Win32 versions. A makertf-translated Windows-style help file was added in gawk304h.zip.

GNU awk 3.0.3 remains available in gawk303x.zip, gawk303s.zip, and gawk303d.zip, respectively.

The GNU Awk User's Guide is available professionally-bound from the Free Software Foundation and also as Effective AWK Programming (2nd ed) from Specialized Systems Consultants.

There is another awk, also distributed under the GNU General Public License, written by Mike Brennan. The original distribution for mawk is available from ftp://ftp.whidbey.net/pub/brennan/. 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.

The version of awk described in The AWK Programming Language by Al Aho, Brian Kernighan, and Peter Weinberger (Addison-Wesley, 1988, ISBN 0-201-07981-X) is available (along with a Win32 binary) from http://cm.bell-labs.com/who/bwk/. Version 970821 has been ported to OS/2 and DOS by Darrel Hankerson. Testing has been limited. Fetch awk9708.zip.

Russell Schulz maintains the Frequently Asked Questions for the comp.lang.awk newsgroup on http://www.faqs.org/faqs/computer-lang/awk/faq/ and ftp://rtfm.mit.edu/pub/usenet/comp.lang.awk/faq.

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.04. 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 2.4.2 has been ported to MSDOS by Stephen V. Nickolas. Fetch executables and sources in cpio242.zip.

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 (see section libc_3) to compile it.

ctags

GNU [ce]tags current GNU version comes from GNU Emacs distribution. 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

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 ftp://space.mit.edu/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.

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.16. 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 `gnuish93' 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 (see section libc_3) to compile it.

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 a reference manual and demos at http://www.cs.dartmouth.edu/gnuplot_info.html.

grep

GNU grep current GNU version is 2.1. 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. 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.11. 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; fetch awf.zip from the usual places. 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 332. 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. 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 has been ported to OS/2 and DOS by Kai Uwe Rommel. Fetch flex23.zip from the usual places.

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 (see section libc_3) to compile it.

lout

The following is taken from the Lout homepage:

Lout is a document formatting system designed and implemented by Jeffrey Kingston at the Basser Department of Computer Science, University of Sydney, Australia.

The system reads a high-level description of a document similar in style to LaTeX and produces a PostScript file which can be printed on most laser printers and graphic display devices. Plain text and PDF (starting from version 3.12) output are also available.

The lout homepage includes a pointer to Murray Adelman's article on lout, appearing in the Linux Gazette.

Currently, lout is the only package in GNUish which is 32bit-only. It was added at the request of Matthew Cepl, who performed tests on these versions. Compilation for DOS and Win32 was done by Darrel Hankerson, with patches provided by Valeriy E. Ushakov. Fetch the binary distribution lout312x.zip and sources in lout312s.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 (see section libc_3) 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.71 of GNU make has been ported to DOS by Morten Welinder. Fetch gmake371.zip from the usual places.

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 (see section libc_3). 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.

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.

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 5.004. 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.4. 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, available from http://www.leo.org/archiv/os2. Or, fetch rcs57pc1.zip and rcs57pc2.zip 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 2.05. 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 (see section libc_3) to compile it. There is no documentation.

sh

GNU bash current GNU version is 2.01. 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 ms_sh 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.12. Kai Uwe Rommel has ported version 1.09 to OS/2 and DOS. Fetch gnutar.zip.

texinfo

GNU texinfo current GNU version is 3.9, 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 gnuinfo.zip 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.22. 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.2 and 5.32, resp. Documentation, sources, and executables are available via http://www.cdrom.com/pub/infozip.

GNUish contains unzip 5.32 and zip 2.2. Sources appear in unzip532.zip and zip22x.zip, resp. Executables appear in the `dos_only' and `os2_only' subdirectories. For DOS, fetch unz532x3.exe (self-extracting) and zip22x.zip ; for OS/2 fetch unz532x1.exe (self-extracting) and zip22x1.zip.

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 zoo210e.exe and sources in zoo210s.zoo from the usual places. Execute the self extracting `zoo210e.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 associated executables archive and 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 associated executables archive.

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 32bit or better machines. Questions about 16bit 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.

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, The collection is available via http://www.simtel.net/simtel.net/ or ftp://ftp.simtel.net/simtelnet/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.