tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Writing buildlink files: references to ../mk/foo.buildlink3.mk



DH> You only need it if the dep is required at client build time; e.g. if
DH> libbar uses libfoo, so libfoo's bl3 is in libbar's Makefile, it only
DH> needs to put libfoo's bl3 in its own bl3 if its installed includes
DH> depend on libfoo's.
EF> Hm. The Guide says:

guide> Run ldd on all installed libraries and look against what other libraries 
guide> they link.
EF> That's what I did.

guide> Some of the packages providing these probably need to be buildlinked;
EF> This is -- erm -- not very specific.

EF> If app depends on libbar and libbar depends on libfoo, then app/Makefile 
EF> includes bar/buildlink3.mk. Now, if bar/buildlink3.mk would not include 
EF> foo/buildlink3.mk, then building app would not see libfoo. Wouldn't that 
EF> make linking app fail?

GDT> more or less:

GDT> If libbar.so references libfoo.so, then libbar/buildlink3.mk should
GDT> include libfoo/buildlink3.mk.
Yes, that's how I understood it. But it contradicts (or so I think) what 
dholland@ wrote.

GDT> But if app depends on bar, and doesn't try to 1) link with libfoo or 2)
GDT> use libfoo's symbols, then app should not include libbar/buildlink3.mk.
Yes, this is the easy case.

GDT> This is hard to discuss in general.
I don't think so. If the package exposes a library which directly depends 
on another library provided by a package which's bl3 is .included in the 
Makefile, then .include the bl3 in the buildlink3.mk. That's pretty 
straightforward, no?

GDT> If you think there is a specific bug (which I am willing to believe!), 
GDT> please point it out.
I just want to know (and understand) how to correctly create bl3 files 
(because I created them for a bunch of existing packages).

What I noticed is that createbuildlink didn't consider bl3 files from mk/, 
only from individual packages. I suspect that's a bug, but I wanted to 
know if it was on purpose.


Home | Main Index | Thread Index | Old Index