FLORIST: This directory contains the components of FLORIST, an implementation of the IEEE Standards 1003.5: 1992, IEEE STD 1003.5b: 1996, and parts of IEEE STD 1003.5c: 1998, also known as the POSIX Ada Bindings. All the code in this directory is copyrighted by the Florida State University (FSU), except for any files that contain statements indicating the copyright belongs to someone else. The FSU-copyrighted code is free software; you can redistribute it and/or modify it under terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. FLORIST is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License distributed with GNARL (see file COPYING). If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if other files instantiate generics from this unit, or you link this unit with other files to produce an executable, this unit does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License. PREREQUISITES: You will need the GNAT 3.15 compiler to install and compile Florist. ---------------- -- WARNINGS -- ---------------- This Ada binding implementation depends on your underlying OS having C header-files and libraries that conform to the POSIX standards. It will try to use constants, types, and functions defined in POSIX.1, POSIX.1b, POSIX.1c, and the proposed POSIX.1g standard. The degree to which the Ada binding works and conforms to the POSIX.5 and POSIX.5b standards will be limited by how well your OS conforms to the corresponding C API's. So far, we have not found any operating system that fully supports POSIX.1c and POSIX.1g though they are getting better. Generally, you will get better results with newer OS releases, since their C API's are closer to the POSIX standards. It is also a good idea to make sure that your installation includes the header files and libraries needed for the real-time and threads extensions. (The default "end user" OS installation may try to save you disk space by not installing them.) Beware of the packages POSIX_Sockets, POSIX_Sockets.Internet, POSIX_Sockets.Local, POSIX_Sockets.ISO, POSIX_XTI, POSIX_XTI.Internet, POSIX_XTI.ISO, POSIX_XTI.MOSI, POSIX_Event_Management. These are parts of a POSIX.5c prototype effort that stalled during the ballot/revision process. We have since made some improvements, notably in the socket interfaces, but this is far from a finished work. These package interfaces SHOULD NOT BE ASSUMED TO CONFORM to the approved POSIX.5c standard, nor are they fully implemented. Florist is currently supported on the following configurations. It may or may not work on non supported configurations: Sparc/Solaris 2.5.1, 2.6, 2.7, 8 x86/Solaris 2.6 Linux glibc2 DEC Unix 4.0x HP/UX 10.20 HP/UX 11.0 IRIX 6.5 AiX 4.1 Beware of the Draft 2 POSIX.5c prototype packages (POSIX_Sockets* and POSIX_XTI*). We are working with members of the POSIX.5c Working Group to jointly develop a prototype implementation of the proposed standard Ada bindings for POSIX.1g (sockets and XTI). However, the proposed POSIX.5c interfaces are still being changed by the IEEE balloting group. Draft 4 is already being written, in reponse to the comments on Draft3. Therefore, what you see here is already obsolete. We do not recommend using any of the packages POSIX_Sockets, POSIX_Sockets.Internet, POSIX_Sockets.Local, POSIX_Sockets.ISO, POSIX_XTI, POSIX_XTI.Internet, POSIX_XTI.ISO, POSIX_XTI.MOSI, POSIX_Event_Management. NORMAL INSTALLATION: Follow the steps described in the INSTALL file. COMPILING YOUR PROGRAMS WITH FLORIST: To compile your own programs with Florist, you will need to include the gnatmake parameters that specify where to find the Florist sources and object library file. Usually the following command will be enough : $ gnatmake -Ifloristlib main -largs -lflorist If you don't want to keep around the whole Florist installation directory, you should be able to copy or move the subdirectory "floristlib" to some other location, and then include it in your GNAT source and object library search paths (see the GNAT documentation for more details).