TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Simon Wright <[log in to unmask]>
Reply To:
Team Ada: Ada Programming Language Advocacy
Thu, 6 Aug 2009 19:05:39 +0100
text/plain (31 lines)
On 6 Aug 2009, at 00:45, Rick Duley wrote:

> Thanks for your response, but I don't understand what you mean by,  
> *"At
> packaging time it is probably easier to pack the ali together with the
> library."*  I thought the ALI file was the library file.  Would you  
> mind
> expanding on that a bit.

The ALI file contains the *Ada* library information, and will be OS- 
specific because some of the system Ada sources are OS-specific (and  
will therefore have different dates, hashes etc). It's used by the  
compiler to check whether a file needs recompiling and for cross- 
references (and no doubt lots of other useful things too!). It's a  
text file. It should be read-only for a library.

As well as this you need the compiled binary of the library, which  
will be in libfoo.a (for the static library) and/or in libfoo.{dll,  
so, dylib} (for the dynamic or sharable library). This will definitely  
be OS and compiler specific!).

The ALI files and the compiled binary would normally be in ..../lib/  
(the GNAT RTS uses ...../adalib/).

To top it off, you need to supply the .ads files (for all units)  
and .adb files (for generic bodies, and for any use of pragma Inline).  
These would normally be in ....../include/ (the GNAT RTS uses ...../