Subject: GNAT README Last Updated Feb 25, 1996 23:00 EST +----------------------------------------------------------------------+ | GNAT is a complete Ada95 compilation system, maintained and | | distributed under the Gnu Public Licence by Ada Core Technologies. | | ACT and ACT-Europe offer commercial support for industrial | | and academic users of GNAT. | | | | For more info: | | - web site http://www.gnat.com | | - for description of ACT services, | | send empty e-mail to: info@gnat.com | | info@act-europe.gnat.com | | | | - detailed queries: support@gnat.com | | - Telephone 212-620-7300 Ext-117 (Nancy Cruz)| | - Fax 212-807-0162 | +----------------------------------------------------------------------+ Bug reports should be sent to report@gnat.com. Please remember to place your ACT customer number in the subject line to insure high priority response. Bug reports from unsupported users are welcome although we cannot guarantee a response. This is the README which is located on cs.nyu.edu in pub/gnat (via anonymous ftp). It contains information about recent distributions of GNAT. Followers of GNAT are encouraged to check this file often for news. This file may be obtained by sending email to: "gnat-send-readme@cs.nyu.edu". Checking this file is particularly important when encountering installation difficulties. News, workarounds, etc. are put in here so that everyone can benefit most quickly from the discoveries made as new versions propagate. The Installation Update News will always be near the top under UPDATE NEWS:: The pub/gnat directory contains recent releases of GNAT. It's contents are described below under CONTENTS:: Information pertaining to unpacking the various distributions follow below under: UNPACKING UNIX DISTRIBUTIONS:: UNPACKING Windows 95 / Windows NT DISTRIBUTIONS:: UNPACKING OS/2 DISTRIBUTIONS:: UNPACKING DOS DISTRIBUTIONS:: ================================================================= UPDATE NEWS:: Additional FTP sites which mirror the pub/gnat directory are listed later on under GNAT Mirror Sites. These sites are generally updated within 24 hours of changes at cs.nyu.edu. gnat 3.03 is now available Version 3.03 release: The binary distribution is now available for the following configurations: alpha-dec-osf2.0 (will also run on osf3.0) linux (ELF) mips-sgi-irix5.3 sparc-sun-solaris2.3 (will also run on solaris2.4) sparc-sun-sunos4.1.3 Other GNAT 3.03 configurations will appear in the near future and this file will be updated to reflect that. Latest features in GNAT version 3.02 ==================================== Implement packing of multidimensional arrays Get_Immediate now follows the implementation advice and works as intended (for SGI IRIX, Sparc SunOS/Solaris, Alpha OSF1, IBM OS/2 and Linux) The task attributes package is now fully functional Warnings for unset variables, and possible access before initialization pragma Warnings (On | Off) allows more detailed control of warnings pragma Source_File_Name allows specifying non-standard file names pragma No_Return allows specifying a procedure that never returns pragma Attach_Handler (implemented on Sparc SunOS and Sparc Solaris only) pragma Interrupt_Handler (implemented on Sparc SunOS and Sparc Solaris only) Distribution Update News: (version 3.03) All binaries are built on top of GCC 2.7.2. Source Distribution Update News (Version 3.03): GNAT 3.03 must be built on top of GCC 2.7.2 Sparc Solaris 2.3 binary installation: Feb 25, 1996 18:00 EST The binary distribution for Sparc Solaris 2.3 (2.4) is now available in the file gnat-3.03-sparc-sun-solaris2.3-bin.tar.gz. Sun OS binary installation: Feb 28, 1996 18:00 EST The binary distribution for Sparc SunOS 4.1.3 is now available in the file gnat-3.03-sparc-sun-sunos.4.1.3-bin.tar.gz. The following warning message during installation (doconfig option 3) should be ignored. ranlib: warning: libgthreads.a(io.o): no symbol table Alpha binary installation: Feb 28, 1996 18:00 EST The binary distribution for Alpha OSF2.0 is now available in the file gnat-3.03-alpha-dec-osf2.0-bin.tar.gz. This version WILL also run on OSF3.0. March 3, 1996 One of the necessary files named mips-tfile was omitted from the original GNAT Alpha distribution. A new distribution was created which includes this file. If a distribution was picked prior to this date the mips-tfile alone can be retrieved from gnat-3.03-alpha-dec-os2.0-bin-update.tar.gz. Note: When installed on top of an existing directory, tar may give peculiar error messages so it is advisable to delete the old directory first. SGI Irix 5.3 binary installation: Feb 28, 1996 18:00 EST The binary distribution for SGI Irix 5.3 is now available in the file gnat-3.03-mips-sgi-irix5.3-bin.tar.gz. Mar 3, 1996 In the installation Makefile the references to libpthreads.a should be libpthread.a. It might be necessary to copy the libpthread.a file to the lib/gcc-lib/mips-sgi-irix5.3/2.7.2 directory if there is a problem when linking programs involving tasking. The 3.03 SGI binary has been repackaged with the correction to the installation Makefile as of March 3. Linux (ELF) binary installation: Feb 28, 1996 18:00 EST The GNAT 3.03 binary distribution for Linux elf format is now available in the file gnat-3.03-linux-elf-bin.tar.gz. Its accompanying README is now included in the distribution along with an installation script. DOS binary installation: Mar 3, 1996 The binary distribution for DOS is now available. The following three files make up the distribution: gnat-3.03-dos-bin-disk[123].zip. If you have not previously retrieved and installed the file djgpp-1.12m4-dos-bin.zip you will also have to install it. The utilities strip.exe and rm.exe have now been added to the djgpp-1.12m4-dos-bin.zip. A nice development environment for GNAT under DOS called AdaCAPS is now available in contrib/gwu (adacaps.txt and adacaps.zip). Note: gnatmake currently does not work under DOS since the memory management of the current DJGPP port of GCC (Version 1) does not allow for a large number of spawned processes which is necessary for a "make" facility. When GNAT starts using Version 2 of the DJGPP system, gnatmake should work just fine. GNAT will start using version 2 as soon as it appears stable to do so which we hope to be in the near future. General Installation notes for Unix installations: Note to users trying to install using option 1 only: Option 1 is a bit trickier now trying to graft GNAT onto GCC version 2.7.2. Users trying to install with option 1, that it trying to install GNAT on top of their existing GCC installation, on a system running SunOS 4.1 rather than 4.1.3 should make a link from sparc-sun-sunos4.1.3 to sparc-sun-sunos4.1 in their gcc-lib directory. If trying to install on top of a system running gcc 2.7.0 rather than 2.7.2 make a link running from 2.7.0 to 2.7.2 followed by the doinstall. Version 3.01 release: The binary distribution is now available for the following configurations: hppa i386-sun-solaris2.4 (for x86) linux (a.out) mips-dec-ultrix4.3 netbsd1.0 (for x86) os2 windows 95/windows NT (for x86) Latest features in GNAT version 3.01 ==================================== pragma Normalize_Scalars Ada.Text_IO.Editing Ada.Wide_Text_IO.Editing Incomplete types declared in the private part that are completed in the package body as unconstrained arrays. Full implementation of stream attributes, including the dispatching cases for class wide types. Private protected operations Pointers to unconstrained arrays may be double or single length. Double ("fat") is the default size (e.g. 64 on SGI), but rep clauses or a foreign convention will force them to single length. Aggregates for composite Types with controlled components Objects of type with unknown discriminants pragma Queuing_Policy pragma Source_File_Name (GNAT specific) True multiprocessing on Sparc Solaris Distribution Update News: (version 3.01) All binaries are built on top of GCC 2.7.2. Source Distribution Update News (Version 3.01): GNAT 3.01 should be built on top of GCC 2.7.1 or GCC 2.7.2 Solaris x86 binary installation: Jan 24, 1996 13:40 EST The GNAT 3.01 binary distribution for Solaris x86 is now available. The following two files make up the distribution: gnat-3.01-i386-unknown-solaris2.4-bin.tar.gz gnat-3.01-i386-unknown-solaris2.4-readme Windows 95/Windows NT binary installation: Jan 5, 1996 01:00 EST The file setup-gnat-3.01a-win95-bin.exe and its accompanying readme file setup-gnat-3.01a-win95.readme were added. This uses a self extracting distribution format. See instructions below on unpacking the Windows 95. This is the Labtek port of GNAT (labtek@cs.yale.edu). Linux (a.out) binary installation: Jan 5, 1996 00:30 EST The GNAT 3.01 binary distribution for Linux (a.out) is now available. The a.out version is available in the file gnat-3.01-linuxaout.tar.gz with an accompanying README in gnat-3.01-linuxaout.README. i386-netbsd1.0 binary installation: Dec 18, 1995 16:30 EDT The binary distribution for netbsd1.0 is now available. The following two files make up the distribution: gnat-3.01-i386--netbsd1.0.README and gnat-3.01-i386--netbsd1.0.tar.gz. Decstation Ultrix binary installation: Dec 17, 1995 19:30 EST The binary distribution for Decstation Ultrix 4.3 is now available in the file gnat-3.01-mips-dec-ultrix4.3-bin.tar.gz. OS/2 binary installation: Dec 12, 1995 11:56 EST The binary distribution of GNAT 3.01 for OS/2 is now available. Please note that GNAT OS/2 now uses five diskettes rather than four; three for GNAT and two for EMX. Please read the unpacking instructions given below as well as the READ.ME and README.EMX files in the emx\gnat directory once the files are unpacked. Previous OS/2 users of GNAT are also advised to briefly check the unpacking instructions given below for any new details. HP PA binary installation: Dec 7, 1995 15:00 EST The file gnat-3.01-hppa-bin.tar.gz representing the binary distribution for the HP PA-RISC architecture is now available. Distribution Update News: (version 2.06 all platforms) July 3, 1995 18:00 EDT The gnatinfo.txt and features file give contradictory information about the proper insutrctions for enabling Inlining. The features file is correct; to enable inlining use -gnatn. The default is no inlining. Version 2.06 release: The binary distribution is now available for the following configurations: rs6000-ibm-aix3.2 Binary Installation Update News (Version 2.06): RS6000 binary installation: July 18, 1995 18:00 EDT The binary distribution for RS6000 AIX 3.2 is now available in the file gnat-2.06-rs6000-ibm-aix3.2-bin.tar.gz. Latest features in GNAT version 2.06 ==================================== Requeue Statement involving task entries inter-unit inlining (enabled by -O2 -gnatn) aggregates for simple controlled types ----------------------------------------------------------------------------- Old source and binaries of GNAT have been moved to pub/gnat/private/old on cs.nyu.edu in order not to clutter up the main pub/gnat directory and not to be picked up by mirror sites. If for some reason you need to retrieve any of these old versions, that is where they can be found. OS/2 PM bindings: Mar 14, 1995 01:30 EST The second public release of the OS/2 PM bindings are now available in the contrib/os2/PM subdirectory. This version is compatible with the version GNAT 2.03 (EMX) release or higher. The 5.95 version of the reference manual for Ada95 is available under the directory rm9x-5.95. Since gnat 2.07 uses gcc version 2.7.0 the environment variables that are set as part of the binary installation need to reference 2.7.0 rather than 2.6.3 which was used previously. So for those using the doconfig script with option 3 make sure that the file env-vals created by the script is placed in your .cshrc and that it replaces any old one (with 2.6.3 references) that was there from a previous installation. The -gnatv option will indicate to you which version of gnat you are running. ========================================================================== Mirror Sites: US sites: ftp://ftp.cdrom.com/pub/languages/ada/compiler/gnat/distrib ftp://wuarchive.wustl.edu/languages/ada/compiler/gnat/distrib European sites: ftp://ftp.cs.kuleuven.ac.be/pub/Ada-Belgium/mirrors/gnu-ada ftp://ftp.dit.upm.es/mirror/cs.nyu.edu/pub/gnat ftp://ftp.cs.tu-berlin.de/pub/gnu/gnat ftp://ftp.cci.de/pub/Ada/gnat ftp://ftp.informatik.rwth-aachen.de/pub/mirror/cs.nyu.edu/pub/gnat ftp://ftp.ibp.fr/pub/gnat ftp://ftp.cnam.fr/pub/Ada/PAL/compiler/gnat/distrib ftp://ftp.eunet.no/pub/gnu/gnat ftp://ftp.fsz.bme.hu/pub/ada/gnat ftp://snowwhite.it.brighton.ac.uk/gnat Australia site: ftp://csc.canberra.edu.au/pub/ise/gnat ============================================================================ CONTENTS:: The contents of the pub/gnat directory are: This README file. The file "features" which lists the language features that are implemented in the lastest version of GNAT is located both in the pub/gnat directory and as part of each distribution. It is updated periodically to reflect new features put into the latest release. The subdirectory "docs" contains various documents about GNAT. The file "unz50x32.exe" is used for unpacking OS/2 zip files (more below). The file "unz511x.exe" is used for unpacking DOS zip files (more below). There are source and binary distributions both for sparc machines running SunOs 4.1 (these distribution files end in ".gz") and for OS/2 (these distribution files end in ".zip"). There are also binary distributions for other architectures/operating systems, including for example DOS and most recently Windows 95. Since the front end of GNAT is written in Ada, you need a running version of GNAT in order to build GNAT from the sources. Once you have GNAT running on your system, most releases can be built from previous ones. To get started initially (and when there are boostrap problems that will be documented here) you need to install GNAT from a binary distribution. We anticipate that many people will never have an interest in building GNAT, and will therefore simply pick up new binary distributions. Intructions for installing and running GNAT are in each distribution. The source distributions also contain instructions for building GNAT. Make sure that you transfer with ftp in binary mode. =============================================================================== UNPACKING UNIX DISTRIBUTIONS:: The Unix (specifically sparc) distributions need to be uncompressed with 'gunzip' (or equivalently 'gzip -d'), and then unpacked with tar. So the necessary commands would be something like the following for unpacking version GNAT 2.00 for the sparc solaris 2.3 version: gunzip gnat-2.00-sparc-sun-solaris2.3-bin.tar.gz tar xf gnat-2.00-sparc-sun-solaris2.3-bin.tar Here is the scoop on gunzip: Because the unix `compress' utility is patented (by two separate patents, in fact), we cannot use it; it's not free software. Therefore, the GNU Project has chosen a new compression utility, `gzip', which is free of any known software patents and which tends to compress better anyway. All compressed files in the GNU anonymous FTP area (prep.ai.mit.edu:/pub/gnu) have been converted to the new format. Files compressed with this new compression program end in `.gz' (as opposed to `compress'-compressed files, which end in `.Z'). Gzip can uncompress `compress'-compressed files and `pack' files (which end in `.z'). This is possible because the various decompression algorithms are not patented---only compression is. The gzip program is available from any GNU mirror site in shar, tar, or gzipped tar format (for those who already have a prior version of gzip and want faster data transmission). It works on virtually every Unix system, MSDOS, OS/2, and VMS. After doing this, check in the newly created GNAT distribution directory for further installation instructions. ------------------------------------------------------------------------------- UNPACKING WINDOWS 95 / Windows NT DISTRIBUTIONS:: Retrieve seupt-gnat-3.01a-win95.exe and run it. Dialogs will allow selecting an installation path and various installation options. It is a self-extracting compressed archive integrated into a standard setup program. Don't forget to get the setup-gnat-3.01-win95.readme for important last-minute details. Note: This Windows 95/ Windows NT distribution of the GNAT Ada compiler for the Intel architecture is maintained by LabTek Corporation. For questions about the Win95/Winnt version send mail to LabTek@cs.yale.edu. ------------------------------------------------------------------------------- UNPACKING OS/2 DISTRIBUTIONS:: The executables for the OS/2 version of GNAT are split into 5 files, each of which can fit on one 3.5-inch high-density diskette. Although it is possible to install GNAT on a FAT partition, such an installation will be somewhat limiting due to the restriction of 8 character filenames. But it is possible to run GNAT in this mode using the -gnatk8 option. Therefore, we recommend to install GNAT on an HPFS partition. If you don't have the unzip program, you can download the file unz50x32.exe, run it in an empty directory, and copy the file unzip.exe to a directory listed in your PATH environment variable. Please note that PKUNZIP will NOT work.) The executables for the OS/2 version of GNAT are contained in 5 zip files. They occupy about 13 megabytes when unzipped. The contents of each zip file are as follows (xx is the minor revision#): #1 gnat-2.xx-os2-bin-disk1.zip: #2 gnat-2.xx-os2-bin-disk2.zip: #3 gnat-2.xx-os2-bin-disk3.zip: The GNAT portion of the GNU compiler and utilities. GNAT runtime library. Documentation and examples. README.OS2. #4 emx09a-gnat-os2-bin-disk1.zip: #5 emx09a-gnat-os2-bin-disk2.zip: Minimal EMX installation including the GNU gcc driver, the C portion of the GNU compiler, assembler, linker, debugger, utilities, "C" runtime library, C include files, necessary DLLs and documentation. Important note for users of GNAT 2.03 or later (EMX version) ---------------------------------------------------------------- Since you have already installed the EMX09a zip files while installing the previous GNAT release you do not need to unzip files #4 and #5 mentioned above. Before unzipping files #1, #2 and #3 it is necessary to delete all the GNAT files from the previous GNAT installation. A command script called gnatdel.cmd located on file #3 will delete all the necessary files. When deleting directories the script will ask questions if it is okay to delete the directories. To these just answer yes. Example (assuming "c" is the drive on which GNAT was previously installed) cd c: cd \ unzip gnat-2.xx-os2-bin-disk3.zip gnatdel.cmd \gnatdel.cmd Once this is done just follow the regular instruction starting giving below in the paragraph starting with "To begin". Note for EMX users: ------------------- Release 3.01 is based on EMX 9a (with fix02) which was GCC 2.6.3. It is not yet based on GCC 2.7.X. File #4 and #5 are required only if you don't already have EMX release (9a with fix02) installed. It is not clear if GNAT 3.01 will run with EMX 9a with later fixes beyond fix02. Let us know at report@gnat.com what you find out about this. ---------------------------------- To begin the installation copy the .zip files to the root of the partition on which you wish to install GNAT. Unzip them there using unzip.exe. Example (replace xx with the current GNAT minor version): >c: >cd \ >copy gnat-2.xx-os2-bin-disk1.zip . >copy gnat-2.xx-os2-bin-disk2.zip . >copy gnat-2.xx-os2-bin-disk3.zip . >copy emx09a-gnat-os2-bin-disk1.zip . >copy emx09a-gnat-os2-bin-disk2.zip . >unzip gnat-2.xx-os2-bin-disk1.zip . >unzip gnat-2.xx-os2-bin-disk2.zip . >unzip gnat-2.xx-os2-bin-disk3.zip . >unzip emx09a-gnat-os2-bin-disk1.zip . >unzip emx09a-gnat-os2-bin-disk2.zip . Once you've done the above, read and follow the directions in given in \EMX\GNAT\READ.ME to complete the installation. The file \EMX\GNAT\README.EMX (same as \EMX\README.EMX) explains about the minimal EMX system subset that is being distributed through the files emx09a-gnat-os2-bin-disk1.zip and emx09a-gnat-os2-bin-disk2.zip for support of GNAT. -------------------------------------------------------------------------- UNPACKING DOS DISTRIBUTIONS:: These instructions pertain to GNAT 2.00 and later. The file "unz511x.exe" is used for unpacking DOS zip files and is available in the ftp directory. You can also use the popular pkunzip.exe program if you already have it. Unz511x.exe is a self extracting archive. To use it you should create an empty, temporary directory, copy unz511x.exe into that directory and run it. (The reason for doing this is that it unzips itself and creates a number of auxiliary files which would clutter up an existing directory.) Once you have it unzipped, you should copy the unzip.exe executable to a directory listed in your PATH environment variable so that is can be run from the GNAT installation directory. The executables for the DOS version of GNAT are contained in 4 files. They occupy about 10 megabytes when unzipped. The contents of each zip file are as follows (where "xx" is the minor version number): #1 GNAT-3.xx-DOS-BIN-DISK1.ZIP: #2 GNAT-3.xx-DOS-BIN-DISK2.ZIP: #3 GNAT-3.xx-DOS-BIN-DISK3.ZIP: GNAT and Gnu "C" compilers and utilities. GNAT runtime library. Documentation and examples. README.DOS. #4 DJGPP-1.12M4-DOS-BIN.ZIP: Minimal DJGPP installation including the go32 memory extender, 387 emulator, assembler, utilities, "C" runtime library and documentation. File #4 is required only if you don't already have the latest DJGPP release installed. To begin the installation, create a directory called DJGPP on a drive with sufficient disk space. Copy the .zip files to this directory and unzip them using unzip.exe or a compatible program. The .zip files contain a complete directory tree, so if you use pkunzip be sure to include the -d switch. Example: >MKDIR C:\DJGPP >COPY GNAT-3.xx-DOS-BIN-DISK1.ZIP C:\DJGPP >COPY GNAT-3.xx-DOS-BIN-DISK2.ZIP C:\DJGPP >COPY GNAT-3.xx-DOS-BIN-DISK3.ZIP C:\DJGPP >COPY DJGPP-1.12M4-DOS-BIN.ZIP C:\DJGPP >C: >CD \DJGPP >UNZIP GNAT-3.xx-DOS-BIN-DISK1.ZIP >UNZIP GNAT-3.xx-DOS-BIN-DISK2.ZIP >UNZIP GNAT-3.xx-DOS-BIN-DISK3.ZIP >UNZIP DJGPP-1.12M4-DOS-BIN.ZIP or >PKUNZIP -D GNAT-3.xx-DOS-BIN-DISK1.ZIP >PKUNZIP -D GNAT-3.xx-DOS-BIN-DISK2.ZIP >PKUNZIP -D GNAT-3.xx-DOS-BIN-DISK3.ZIP >PKUNZIP -D DJGPP-1.12M4-DOS-BIN.ZIP Once you've done the above, read and follow the directions in C:\DJGPP\README.DOS to complete the installation. Be sure to also read the DJGPP readme files: README.1ST and README.DJ. UNPACKING THE GNAT SOURCES -------------------------- The GNAT sources are distributed in two formats, one using gzip and the other using zip. The gzip format appears as gnat-2.xx-src.tar.gz (where xx is the minor release number). To unpack just use gunzip and then tar to extract. The zip format appears as three zip files: gnat-2.xx-src-disk1.zip, gnat-2.xx-src-disk2.zip and gnat-2.xx-src-disk3.zip. To see which unzip utility to use in unpacking these two zip files, see the instructions given in the sections above called UNPACKING DOS DISTRIBUTIONS or UNPACKING OS/2 DISTRIBUTIONS whichever is appropriate.