[OpenWrt-Devel] build: conditional dependencies in packages sharing the same source
eyal.birger at gmail.com
Sun Apr 24 14:24:31 EDT 2016
On Sun, Apr 24, 2016 at 8:35 PM, Hauke Mehrtens <hauke at hauke-m.de> wrote:
> On 04/24/2016 01:47 PM, Eyal Birger wrote:
>> Hi All,
>> We've encountered an interesting behavior in the OpenWRT build system, on which
>> feedback would be appreciated:
>> When building packages sharing the same source code, all packages
>> prerequisites seem to
>> be joined unconditionally, instead of each prerequisite depending on
>> the package that required
>> As an example:
>> ppp-mod-pppoa shares its source code with the ppp package;
>> ppp-mod-pppoa depends on linux-atm;
>> as a result, ppp depends unconditionally on linux-atm.
>> i.e. in the generated tmp/.packagedeps file, the following is generated:
>> $(curdir)/ppp/compile += ... $(curdir)/linux-atm/compile ...
>> And not:
>> $(curdir)/ppp/compile += ... $(if
>> $(CONFIG_ppp-mod-pppoa),$(curdir)/linux-atm/compile) ...
>> This results in unnecessary compilation dependencies.
>> Is this behavior intentional?
>> Best regards,
> When more than one package is build from one source, this is mostly done
> by building the source code once for all binaries and then only
> packaging the stuff into different packages. I assume that there is a
> build time dependency to atm in the ppp source.
Thanks! that's interesting.
In this particular case, there doesn't seem to be such a dependency, i.e. ppp
builds fine without ppp-mod-pppoa and linux-atm (haven't tested all possible
configurations though :))
But if there was a dependency, wouldn't it have been correct for it to be
explicit in the ppp dependencies?
(maybe if ppp-mod-pppoa got deprecated, ppp might break for no apparent
Seems that the current behavior masks these subtleties; That's why I'm wondering
if it is intentional, or if it should be changed, so that all
dependencies must be defined
exactly where they are needed.
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
More information about the openwrt-devel