On Thu 2011-02-03 at 16:30h, Jonathan Oulds wrote on ivy-user: > On 03/02/2011 15:33, Niklas Matthies wrote: : >> How about you let BarPoC also depend on Bar [iface], so it gets its >> Bar.h from Bar instead of duplicating it? : > Thank you for your reply. If I understand you correctly you are > suggesting that instead of the follow dependencies... > > FooBarPoC -> Foo > FooBarPoC -> BarPoC [impl] > Foo -> Bar [iface] > > ... I use > > FooBarPoC -> Foo > FooBarPoC -> BarPoC [impl] > Foo -> BarPoC [iface] -> Bar [iface]
No, Foo can still get Bar.h directly from Bar, so no need to change Foo. But I assume that BarPoC needs Bar.h for compiling and linking, so the compile/build configuration of BarPoC could depend on Bar [iface] to obtain Bar.h. I.e. something like: FooBarPoC -> Foo [impl] FooBarPoC -> BarPoC [impl] Foo [build] -> Bar [iface] BarPoC [build] -> Bar [iface] I guess you'd like to express the fact that BarPoC.dll fulfills Foo.exe's need for a DLL that implements Bar's interface. But Ivy doesn't have that notion of matching implementations to interfaces. Rather, in your use case it's the responsibility of FooBar/FooBarPoC's ivy file to pick a matching implementation to go together with Foo.exe. -- Niklas Matthies