[Aldor-l] libaxiom.al: dependencies
Stephen Watt
watt at scl.csd.uwo.ca
Sat May 31 07:57:01 EDT 2008
It should be enough for "a" to mention just "b".
If "b" was created using a version of the compiler that circumvents
the "inline from" declaration (thereby allowing inlining from everything),
then if "c" changes, "a" may need to be recompiled.
-- Stephen
On Thu, May 29, 2008 at 01:08:10PM +0200, Ralf Hemmecke wrote:
> Dear Peter, and all who know about the Aldor compiler internals...
>
> I've checked now what dependencies you have calculated in src_aldor2.
> That seemingly differs by a few domain.
>
> Maybe it is important, but maybe not. Therefore my question. Do you know
> enough about the aldor compiler internals to be able to say something
> about the following?
>
> Suppose I have 3 files a.ap b.ap, c.ap where a depends directly on b but
> not directly on c. And where b depends directly on c.
>
> Now I want to create the corresponding .ao file.
>
> Is it enough if while compiling a.ap that only b.ao is mentioned as a
> library?
>
> The current compiler 1.1.0 compiles the stuff below without problem. If
> it really is enough to list direct dependencies why should one bother to
> figure out dependencies recursively?
>
> It might be different if I try to compile to .a files, but I am speaking
> here only of the .ao files which are necessary for the libaxiom.al
> construction.
>
> Ralf
>
> ---BEGIN a.as
> #include "aldor"
> #library LLL "library"
> import from LLL;
> AAA: with {
> afoo: % -> %
> } == add {
> Rep == BBB;
> import from Rep;
> afoo(x: %): % == per bfoo rep x;
> }
> ---END a.as
>
>
> ---BEGIN b.as
> #include "aldor"
> #library LLL "library"
> import from LLL;
> BBB: with {
> bfoo: % -> %
> } == add {
> Rep == CCC;
> import from Rep;
> bfoo(x: %): % == per cfoo rep x;
> }
> ---END b.as
>
> ---BEGIN c.as
> #include "aldor"
> CCC: with {
> cfoo: % -> %
> } == add {
> cfoo(x: %): % == x;
> }
> ---END c.as
>
> ---BEGIN Makefile
> a.ao: a.as libbbb.al
> cp libbbb.al liblibrary.al
> aldor -llibrary $<
>
> libbbb.al: b.ao
> ar r libbbb.al $<
>
> b.ao: b.as libccc.al
> cp libccc.al liblibrary.al
> aldor -llibrary b.as
>
> libccc.al: c.ao
> ar r libccc.al $<
>
> c.ao: c.as
> aldor c.as
> ---END Makefile
>
> _______________________________________________
> Aldor-l mailing list
> Aldor-l at aldor.org
> http://aldor.org/mailman/listinfo/aldor-l_aldor.org
More information about the Aldor-l
mailing list