Thank you Simon. That has given me a much better understanding.

-- 
Rick Duley
North Perth,
Western Australia
http://rickduley.webs.com
                                     .-_|\
                                    /     \
                              perth *_.-._/
                                         v
aussie : 0409 106 049
o'seas : +61 409 106 049
--------------------------------------------
"People demand freedom of speech
      as a compensation for
             the freedom of thought
                    which they seldom use."
             (Soren Kierkegarrd, 1813-1855)

On Fri, Aug 7, 2009 at 2:05 AM, Simon Wright <[log in to unmask]> wrote:

> 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 ...../adainclude/).
>
> --S
>
>