Convert instructions to md format and file names

This commit is contained in:
Samuel Tardieu 2015-09-20 13:02:45 +02:00
parent 1205c48100
commit 3b70276f64
8 changed files with 113 additions and 546 deletions

View File

30
INSTALL
View File

@ -1,30 +0,0 @@
INSTALL file for adasockets.
+++ To install this software on Unix or Cygwin/Windows, just do:
% ./configure --prefix=<any directory>
% make install
This will build and install this software under <any directory>/lib/adasockets.
The adasockets-config program and its associated man page will be installed
respectively under <any directory>/bin and <any directory>/man/
In the examples subdirectory, you will find an example called "tcprelay" which
illustrates how this package can be used.
GNU make is not strictly necessary but is recommended. It is needed if
you want to rebuild the documentation.
You need to install the autogen software if you want to rebuild the
documentation. You also need the autotools if you plan on modifying the
AdaSockets build structure.
+++ To build this software on OpenVMS, just do:
% make
GNU make must be available as well as the DEC C compiler. If no C
compiler is available on your system, the file sockets-constants.ads
in the contrib/vms directory must be copied into the vms one. This
file is given as is and has not been tested on other host than the one
used to port AdaSockets.

34
INSTALL.md Normal file
View File

@ -0,0 +1,34 @@
# Installing AdaSockets
## Building on Unix or Cygwin/Windows
```
% ./configure --prefix=<any directory>
% make install
```
This will build and install this software under *<any directory>*`/lib/adasockets`.
The `adasockets-config` program and its associated man page will be installed
respectively under *<any directory>*`/bin` and *<any directory>*`/man/`.
In the examples subdirectory, you will find an example called `tcprelay` which
illustrates how this package can be used.
GNU make is not strictly necessary but is recommended. It is needed if
you want to rebuild the documentation.
You need to install the autogen software if you want to rebuild the
documentation. You also need the autotools if you plan on modifying the
AdaSockets build structure.
## Building on OpenVMS
```
% make
```
GNU make must be available as well as the DEC C compiler. If no C
compiler is available on your system, the file `sockets-constants.ads`
in the `contrib/vms` directory must be copied into the `vms` one. This
file is given as is and has not been tested on other host than the one
used to port AdaSockets.

View File

@ -14,7 +14,7 @@ else
SUBDIRS_EXAMPLES =
endif
EXTRA_DIST = AUTHORS COPYING GMGPL INSTALL NEWS README README.RTEMS \
EXTRA_DIST = AUTHORS.md COPYING GMGPL INSTALL.md README.md README-RTEMS.md \
rtems/ChangeLog rtems/create_constants_c.sh rtems/Makefile.RTEMS \
rtems/README rtems/rtems_main.c rtems/sockets-constants-rtems.ads \
ChangeLog Makefile.VMS \
@ -34,4 +34,4 @@ ChangeLog: never
never::
version:
@echo $(PACKAGE)-$(VERSION)
@echo $(PACKAGE)-$(VERSION)

438
NEWS
View File

@ -1,438 +0,0 @@
-*- outline -*-
* New in AdaSockets 1.8.8
New constants Null_Socket_FD and Null_Multicast_Socket_FD have been
defined.
Use `pkg-config' for post-installation configuration.
* New in AdaSockets 1.8.7
The configure flag --enable-debug has been renamed into
--enable-maintainer-mode as it better reflects what it does. Also,
it now turns on all GNAT and GCC warnings.
This is probably one of the last release of AdaSockets not based on
GNAT.Sockets.
* New in AdaSockets 1.8.6
Add RTEMS port from Joel Sherrill <joel.sherrill@oarcorp.com>.
Fix style issues and warnings from newer GNAT versions.
Use a LIBVERSION of 1:0:0 as is done in the Debian package.
* New in AdaSockets 1.8.5
Fix locking race condition in naming routines. Bug found and fix sent by
Dmitriy Anisimkov <anisimkov@ada-ru.org>.
Allow explicit interface selection for multicast sockets. Patch sent by
Guillaume Foliard <guifo@wanadoo.fr>.
Use inet_aton instead of inet_addr. Patch sent by Guillaume Foliard
<guifo@wanadoo.fr>.
Use -lresolv on Solaris for inet_aton.
Update build process with latest autotools.
Use stdlib.h and string.h in constants.c when appropriate.
* New in AdaSockets 1.8.4.7
Packaging glitch is now fixed, thanks to Dani <danielcheagle@ig.com.br>
for reporting it.
* New in AdaSockets 1.8.4.6
Fix documentation, thanks to <odyssee.tremoulis@atosorigin.com>.
Do not require a C++ compiler to be present because it is of no use.
Request from Dmitriy Anisimkov <anisimkov@ada-ru.org>.
* New in AdaSockets 1.8.4.5
The Sockets.Naming.Value function now checks that a correct dotted IP address
is given.
Add a new example "value" to test the Sockets.Naming.Value function.
* New in AdaSockets 1.8.4.4
Fix bug an offset-by-one error in Sockets.Receive_Some. Bug found and fix
sent by Dmitriy Anisimkov <anisimkov@omsknet.ru>.
Fix typo in documentation, thanks to Vladimir <elwan@isc.tsu.ru>.
* New in AdaSockets 1.8.4.3
Fix bug in Sockets.Receive in presence of connection errors. Bug found
and fix sent by Dmitriy Anisimkov <anisimkov@omsknet.ru>.
* New in AdaSockets 1.8.4.2
In-source-tree build for AdaSockets was broken, this is now fixed.
* New in AdaSockets 1.8.4.1
AdaSockets now has two build options: --disable-doc and --disable-examples.
* New in AdaSockets 1.8.4
This version only fix some builds problems when gnatmake cannot be found.
* New in AdaSockets 1.8.3
Fix several bugs and glitches with older versions of GNAT.
* New in AdaSockets 1.8.2
To remove the risk of using two different versions of GNAT, gnatmake
is now used as the only driver to compile Ada code.
* New in AdaSockets 1.8.1
The change in AdaSockets 1.8 broke compilation with versions of GNAT
older than 5.01. This version restores it for every GNAT version.
Bug found by Duncan Sands <duncan.sands@math.u-psud.fr>.
* New in AdaSockets 1.8
A change in the `gnatkr' program for GNAT 5.01 required a change in
AdaSockets. Patch sent by Dmitriy Anisimkov <anisimkov@omsknet.ru>.
* New in AdaSockets 1.7
A bug in multicast sockets handling has been fixed (which could cause
incompatibities on heterogeneous architectures). Bug found and fix sent
by Guillaume Foliard <guifo@wanadoo.fr>.
A new Create_Multicast_Socket function allows you to choose the local
port to use.
* New in AdaSockets 1.6
A new procedure Get_Line looks like Ada.Text_IO equivalent. The Get_Line
function also now takes a default argument.
* New in AdaSockets 1.5.1
Interface change: some types have been moved in Sockets.Types, a new
package. Also, the sa_len and sin_len fields have been introduced
respectively in Sockaddr and Sockaddr_In types when applicable.
Autoconf file has been renamed from configure.in to configure.ac to
use newest autoconf file naming conventions.
* New in AdaSockets 1.5
AdaSockets don't check the version string of GNAT anymore as it works with
any decently recent version.
Also, remove two useless copies in some of the Receive_ routines which
could penalize large transfers.
* New in AdaSockets 1.4.1
Work with GNAT 3.15p (the version string has yet another format).
Thanks to Jean-Pierre Rosen <rosen@adalog.fr> for signalling this problem.
* New in AdaSockets 1.4
AdaSockets now supports GNAT 3.2 from the GCC tree and Windows XP.
Windows patch sent by Jeffrey Creem <jeff@thecreems.com>.
* New in AdaSockets 1.3
AdaSockets now supports OpenVMS. Support added by
Dominik Madon <dominik@acm.org>.
* New in AdaSockets 1.2
** New Connect behaviour in case of failure
Connect can now raise Socket_Error (where previously Connection_Refused was
used) if another error happens (such as "no route to host"). Change
suggested and patch sent by Dmitriy Anisimkov <anisimkov@yahoo.com>.
** Addendum in documentation
It has been explicitely noted that string-oriented communication with
datagrams requires the user to set a buffer on the receiving socket.
* New in AdaSockets 1.1
** New documentation
AdaSockets now comes with a small documentation. See it online on
http://www.rfc1149.net/devel/adasockets or in the doc directory of the
distribution.
** New constants
A whole set of new constants have been made available. See the documentation.
Thanks to Sune Falck <sune.falck@telia.com>.
** Cleanup
The constant PF_INET should be used instead of AF_INET when creating sockets.
The old option (which is not correct even if they hold the same value)
should be changed in your source code into the new one.
** Bug fix
The examples/multi program can now be run several times on the same machine.
Thanks to Sune Falck <sune.falck@telia.com>.
* New in AdaSockets 1.0
** New exception
The exception Socket_Error will be raised instead of Constraint_Error.
Thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>.
** Major version change
I was tired of the 0.1.x serie, as AdaSockets is now mature enough for
being used in large applications.
* New in AdaSockets 0.1.20
** New contrib directory
The new contrib directory includes scripts to make win32 installation easier,
thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>.
** New high-level function
Getsockopt is now available. Patch sent by Dmitriy Anisimkov
<anisimkov@yahoo.com>.
** New thin function and constants
The ioctl() function and two constants, FIONBIO and FIONREAD, have
been added to the thin binding. close() is now bound as a function
instead of a procedure, since specific code may need to check the
result. Also, a new Sockets.Thin.Errno function gives an error code
that is portable between Unix and win32. Thanks to Dmitriy Anisimkov
<anisimkov@yahoo.com>.
* New in AdaSockets 0.1.19
** New features for Windows
Maxim Reznik <max1@mbank.com.ua> did adapt AdaSockets so that it offers
all the functions needed for AdaBroker on Windows. This way, he could use
AdaBroker on this new platform.
** Minor enhancement
When a socket is closed, its buffer space is reclaimed if the socket was
still in buffered mode. Suggestion and patch sent by Dmitriy
Anisimkov <anisimkov@yahoo.com>.
** Example fix
The multicast example (which now works on Windows) has been fixed to do
what it says. Fix sent by Juanma Barranquero <lektu@terra.es>.
* New in AdaSockets 0.1.18
** New subprograms Set_Buffer and Unset_Buffer
Two new subprograms, Set_Buffer and Unset_Buffer, allow to read sockets
in buffered mode. This is particularily important for UDP sockets. Feature
suggested by Juanma Barranquero <lektu@terra.es>.
The listener example has been modified to use buffered mode.
* New in AdaSockets 0.1.17
** Bug fix
A bug prevented UDP sockets to be able to receive data, at least on Windows.
Reported and fixed by Juanma Barranquero <lektu@terra.es>.
* New in AdaSockets 0.1.16
** New port
Thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>, AdaSockets now builds
correctly on a Windows MINGW system. You need a set of Unix tools to
build it; it has been tested with the Cygwin toolset.
* New in AdaSockets 0.1.15
** Bug fix
Send could sometimes incorrectly raise Constraint_Error instead of
the more logical Connection_Closed. Reported and fixed by
Pascal Obry <p.obry@wanadoo.fr>.
* New in AdaSockets 0.1.14
** Bug fix
Get_Sock_Port and Get_Peer_Port did not return the right result on little
endian machines. Reported and fixed by Stéphane Patureau
<spaturea@meletu.univ-valenciennes.fr>.
* New in AdaSockets 0.1.13
** New functions Get_Sock_Addr and Get_Sock_Port
This time, the new functions, that work locally, have been suggested by
Alan Barnes <barnesa@aston.ac.uk>.
** Bind enhancement
Alan Barnes <barnesa@aston.ac.uk> also proposed a Bind enhancement to
accept 0 as a valid port. In this case, a free one will be allocated
by the system. Also, it is now possible to specify the bind address.
* New in AdaSockets 0.1.12
** New functions Get_Peer_Addr and Get_Peer_Port
Two new functions allow a user to know the address and port used by the
peer. Based on a suggestion from Sander Cox <sander.cox@philips.com>.
** Bug fix
The split program had a forgotten incrementation, which made it fail on
some machines with long qualified names. Fix sent by Thomas Quinot
<thomas@cuivre.fr.eu.org>.
* New in AdaSockets 0.1.11
** New constants defined
David J. Kristola <David95037@aol.com> asked for two new constants to be
defined, O_NONBLOCK and MSG_PEEK. These will be used for a new extension
(non-blocking sockets) that he plans to release in the near future.
* New in AdaSockets 0.1.10
** New package Sockets.Stream_IO
A new package Sockets.Stream_IO allows the user to build a stream from an
existing socket. The stream can then be used as any other Ada stream.
Two new examples, stream_listener and stream_sender are provided to
demonstrate this feature.
** New procedure Receive_Some.
A new Receive_Some procedure, suggested by Laurent Guerby, allows the user
to get the first data available instead of waiting for the buffer to be
filled.
** Allow adasockets-config to be called with no parameter.
This has been suggested by Preben Randhol, and simplifies the gnatmake
command line whenever someone uses no library but adasockets.
* New in AdaSockets 0.1.9
** Add a new function Get_FD.
A new function Get_FD has been added in the Sockets package to let GtkAda users
add this descriptor to the list of descriptors to watch. Patch sent by
Bobby D. Bryant <bdbryant@mail.utexas.edu>.
* New in AdaSockets 0.1.8
** Change the building process
AdaSockets now comes as a shared and a non-shared library.
** Fix bugs on 64 bit platforms
The iovec_len field in sockets-thin.ads was incorrectly marked as being
an Integer instead of a Storage_Offset.
* New in AdaSockets 0.1.7
** Add support for FreeBSD
FreeBSD 3.x, 4.0 and 5.0-CURRENT are now supported out of the box.
* New in AdaSockets 0.1.6
** Add a `adasockets-config' script
The AdaSockets library can now be found automatically on your system if
it has been installed properly.
* New in AdaSockets 0.1.5
** Fix a race condition when using naming services
gethostbyname() and friends functions are not thread safe because they return
a pointer on a static memory zone. Incriminated calls are now protected by a
mutex. The overhead should be neglictible as those functions aren't usually
called often.
* New in AdaSockets 0.1.4
** Fix a descriptor leak when using TCP sockets
close() was not called properly after a socket has been shutdowned in
both directions. Since we do not want to add the burden of calling
close() onto the user, we record the state for each direction and call
close() when appropriate.
** Fix an installation bug
In some situations (unexistant lib subdirectory in target prefix
directory), the installation directory was not properly created. This
is now fixed.
** Add some thin bindings entries
Thin bindigs entries have been added for socketpair() and AF_UNIX.
* New in AdaSockets 0.1.3
** Support for IP multicast
The package Sockets.Multicast can be used to create Multicast
interfaces on machine that support it.
** Interface changes
Some functions have been transformed into procedures to ease the
addition of multicast sockets.
** New example
The multi example can be used as both a multicast sender and receiver.
* New in AdaSockets 0.1.2
** Warning suppressed
Some versions of GNAT were detecting incorrectly a missing raise in
some cases. Signaled by Nicolas Ollinger <Nicolas.Ollinger@ens-lyon.fr>.
** New example
A listener example which is only a server has been added to avoid any
confusion between clients and servers. Suggestion by Scott Moody
<scott@plato.ds.boeing.com>.
* New in AdaSockets 0.1.1
** `aux' -> `support'
The subdirectory `aux' in the distribution has been renamed into
`support' to avoid a name clash on Windows NT with the standard
peripherical `aux'. Suggestion from Juanma Barranquero
<barranquero@laley-actualidad.es>.
** Better error messages
Exception raised during the connection now have messages in many cases
explaining why the connexion could not be made.

77
README-RTEMS.md Normal file
View File

@ -0,0 +1,77 @@
# Building AdaSockets to target RTEMS.
Prerequisites
=============
Build and install a working GNAT/RTEMS toolset and a BSP. Make sure
networking and POSIX are enabled. Detailed instructions are available
online in the RTEMS Wiki at:
http://www.rtems.org/wiki/index.php/RTEMSAda
Run at least one sample from the RTEMS build (e.g. `hello.exe`
or `sample.exe`) to confirm that RTEMS itself was properly built.
Build and run the RTEMS `hello_world_ada` from the `ada-examples`
package using your GNAT/RTEMS development environment.
If everything is working at this point, then you are ready to
build AdaSockets.
Generate `sockets-constants.ads`
================================
Subdirectory: `rtems`
We will use the RTEMS you installed to build and run a program
called `constants.exe`. The output of this program needs to be
saved as `sockets-constants.ads`. To compile this program use
the `Makefile.RTEMS`.
```
% RTEMS_MAKEFILE_PATH=install_path_of_BSP make -f Makefile.RTEMS
```
Then run the program `o-optimize/constants.exe` on the target hardware.
Your saved target board output may end up with DOS style
CR/LF's. Run `dos2unix` on the file to get it back to
Unix style.
There is a version of this file generated using `psim` using
a pre-4.8 CVS snapshot of RTEMS which should work on any target.
You can use this but you would be safer to generate your own.
Consider it an example of how it should look when it works.
Building AdaSockets
===================
Subdirectory: `src`
Now that you have a `sockets-constants.ads`, we can build the
AdaSockets library. `Makefile.adasockets` is provided for this
step:
```
% RTEMS_MAKEFILE_PATH=install_patch_of_BSP make -f Makefile.RTEMS
```
After the library is compiled, it may be installed using the following:
```
% RTEMS_MAKEFILE_PATH=install_patch_of_BSP make -f Makefile.RTEMS install
```
Building examples
=================
Subdirectory: `examples`
After building the sockets package, build the examples the same way
```
% RTEMS_MAKEFILE_PATH=install_patch_of_BSP make -f Makefile.RTEMS
```
BUGS:
- stream_listener core dumps if the endian of the `stream_sender` is not
the same as the listener.
- multicast does not yet work. This is probably an RTEMS issue.

View File

@ -1,76 +0,0 @@
#
# $Id: README.RTEMS,v 1.3 2007/09/17 20:46:23 joel Exp $
#
This file contains the instructions for building AdaSockets to target RTEMS.
Prerequisites
=============
Build and install a working GNAT/RTEMS toolset and a BSP. Make sure
networking and POSIX are enabled. Detailed instructions are available
online in the RTEMS Wiki at:
http://www.rtems.org/wiki/index.php/RTEMSAda
Run at least one sample from the RTEMS build (e.g. hello.exe
or sample.exe) to confirm that RTEMS itself was properly built.
Build and run the RTEMS hello_world_ada from the ada-examples
package using your GNAT/RTEMS development environment.
If everything is working at this point, then you are ready to
build Ada Sockets.
Generate sockets-constants.ads
==============================
Subdirectory: rtems
We will use the RTEMS you installed to build and run a program
called "constants.exe". The output of this program needs to be
saved as sockets-constants.ads. To compile this program use
the Makefile.RTEMS.
RTEMS_MAKEFILE_PATH=install_path_of_BSP \
make -f Makefile.RTEMS
Then run the program o-optimize/constants.exe on the target hardware.
Your saved target board output may end up with DOS style
CR/LF's. Run "dos2unix" on the file to get it back to
Unix style.
There is a version of this file generated using psim using
a pre-4.8 CVS snapshot of RTEMS which should work on any target.
You can use this but you would be safer to generate your own.
Consider it an example of how it should look when it works.
Building Ada Sockets
====================
Subdirectory: src
Now that you have a sockets-constants.ads, we can build the
Ada Sockets library. Makefile.adasockets is provided for this
step:
RTEMS_MAKEFILE_PATH=install_patch_of_BSP \
make -f Makefile.RTEMS
After the library is compiled, it may be installed using the following:
RTEMS_MAKEFILE_PATH=install_patch_of_BSP
make -f Makefile.RTEMS install
Building Examples
=================
Subdirectory: examples
After building the sockets package, build the examples the same way
RTEMS_MAKEFILE_PATH=install_patch_of_BSP \
make -f Makefile.RTEMS
BUGS:
+ stream_listener core dumps if the endian of the stream_sender is not
the same as the listener.
+ multicast does not yet work. This is probably an RTEMS issue.

View File