This is the README.1ST file for GNAT 1.79 for DOS.  You must already
have installed DJGPP before you attempt the installation.

The unzipped files occupy about 7 megabytes and the installation takes
a substantial amount of time because it must compile the Ada runtime 
library.

README.DOS gives more complete instructions on performing the installation
of GNAT for DOS.

README.2ND, readme.dj, and djgpp.faq give more info about DJ Delories port
of gcc for DOS.

Features and gnat-intro talk about GNU NYU Ada Translator (GNAT).

You should already have installed the latest version of djgpp including
the various libraries, and maybe more. Djgpp is available
from various archive sites, including oak.oakland.edu in directory
pub/msdos/djgpp.

The modules you'll want to start with are (replace XXX with an
appropriate version number):

 djdocXXX.zip  The base documentation
 djeoeXXX.zip  Execution-only environment - extender binary, emu387,
               some utils, README and FAQ
 djdevXXX.zip  Basic development libraries and utilities
 gccXXXbn.zip  GCC binaries, including C front end (no C++ or ObjC)
 gasXXXbn.zip  Assembler - required for all compiles (use as.exe in above
	       gnat distribution, this one has a bug)
 bnuXXXbn.zip  Binary utilities - required for all compiles

 djXXXmX.zip   Maintainance releases - install LAST and IN ORDER.

Read readme.2nd for more information on files.  Look in readme.dj for more
locations where you can get djgpp, and read djgpp.faq to answer your
frequently asked questions.
 
Be sure to set the ADA_INCLUDE_PATH and ADA_OBJECTS_PATH environment
variables to the above mentioned adainc and lib/adalib directories, as is
discussed in gnat-intro.

There are a few problems that still need to be addressed.  One that you
will probably run into involves anything that does TEXT_IO.  The
implementation of TEXT_IO calls the C routine fileno() which is not in
libc.a.  It is implemented in stdio.h as a macro.  Below is a very simple
fix that you can extract, compile, and put in libc.a:

#include <stdio.h>
#undef fileno
IOBUF_FILE_TYPE fileno (file)
FILE* file;
{
	return file->_file;
}

There may be other similar problems.

One more thing: You _must_ use the -k8 switch when compiling ada code.
Another thing: Increase the files=nn line in autoexec.bat to at least 25.
Yet another thing: Read gnat-intro to learn how to compile and link and read
		   features to find out what's implemented and what's not.


