<div dir="ltr"><div><div><div>Well, you need to specifiy Ax in the DEPENDS section of B.<br></div><div>Since there are 3 Ax, you can do it 2 ways:<br></div><br>1) Create Bx (x = 1-3) packages; B1 depends on A1, B2 depends on A2, B3 depends on A3; so, if you select the correct Bx, the correct Ax will also get built.<br></div>You can also use build variants to keep Bx in a single Makefile; you can check the package/ncurses/Makefile for hints. <br></div>The build variants does not seem too popular, but you can try it.<br><div><div><div><div><div><div><br>2) In the Makefile of B you can do a "dynamic" DEPENDS.<br>Before the package definition (i.e. define Package/B ) you can add a A_DEPENDS variable.<br></div><div>You can do something like:<br>ifeq ($(A_DEPENDS),)<br></div><div> ifeq ($(CONFIG_A1),y)<br></div><div> A_DEPENDS := A1<br></div><div> endif<br></div><div>endif<br></div><div>ifeq ($(A_DEPENDS),)<br><div> ifeq ($(CONFIG_A2),y)<br></div><div> A_DEPENDS := A2<br></div><div> endif<br></div><div>endif<br></div>ifeq ($(A_DEPENDS),)<br><div> ifeq ($(CONFIG_A3),y)<br></div><div> A_DEPENDS := A3<br></div><div> endif<br></div><div>endif<br></div>A_DEPENDS should equal to either A1, A2 or A3, if either is selected. Note that CONFIG_Ax is as defined in the .config file.<br></div><div>Then<br>define Package/B<br></div><div> DEPENDS:= ............ $(A_DEPENDS)<br></div><div>endef<br></div><div><br></div><div>If I look at this approach, it does what you asked for.<br>But all in all, I would say there would be a cleaner approach if Ax and B are known.<br></div><div><br></div><div>If the assumption would be that Ax are similar packages (or variants of a base A), then I'd make a single package A, and define some options to it.<br></div><div>Based on those options A would be a variation of type Ax (x = 1 - 3).<br></div><div>Then <br></div><div>define Package/B<br><div> DEPENDS:= ............ A<br></div><div>endef<br></div><div><br></div><div>And you can configure A with whatever options you need.<br></div><div><br></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 22, 2015 at 8:34 PM, Mats Karrman <span dir="ltr"><<a href="mailto:mats.dev.list@gmail.com" target="_blank">mats.dev.list@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm struggling with a problem and I can't really get it to work as I want.<br>
<br>
Say you have 3 packages, A1, A2 and A3, that all provide the include file "f.h".<br>
I also have package B that build-time depends on "f.h".<br>
<br>
I will enable either A1, A2 or A3 in the .config for a build but how do I make<br>
OpenWRT understand that it cannot build B until either of Ax is built?<br>
<br>
I'd be ever so greatfull for some good hints on how to solve this.<br>
<br>
(and oh, I'm on "Attitude-Adjustment")<br>
<br>
Best regards,<br>
Mats<br>
______________________________<u></u>_________________<br>
openwrt-devel mailing list<br>
<a href="mailto:openwrt-devel@lists.openwrt.org" target="_blank">openwrt-devel@lists.openwrt.<u></u>org</a><br>
<a href="https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel" target="_blank">https://lists.openwrt.org/cgi-<u></u>bin/mailman/listinfo/openwrt-<u></u>devel</a><br>
</blockquote></div><br></div>