[Buildroot] [PATCH] toolchain package: set version as 'virtual' instead of 'undefined'

Thomas De Schampheleire patrickdepinguin at gmail.com
Thu May 8 11:37:31 UTC 2014


On Thu, May 8, 2014 at 11:52 AM, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 08/05/14 11:28, Thomas De Schampheleire wrote:
>> Hi Arnout,
>>
>> On Thu, May 8, 2014 at 10:31 AM, Arnout Vandecappelle <arnout at mind.be> wrote:
>
> [snip]
>>>  I repeat my earlier statement: within a function that is supposed to be
>>> eval'ed, *everything* should be $$'ed except the function arguments and except
>>> some very specific cases.
>>>
>>
>> But in the case of host variables being set based on target variables
>> if there is no explicit host variable, as for the _VERSION, there
>> would be a recursive assignment as $(2) == $(3).
>
> True; if you set
> $(2)_VERSION = $$(subst /,_,$$($(3)_VERSION))
>
> that will expand to
> PKG_VERSION = $$(subst /,_,$$(PKG_VERSION))
>
> in the eval, which is indeed recursive.
>
> But that can be solved with a simple:
>
> $(2)_VERSION := $$(subst /,_,$$($(3)_VERSION))
>
> Fortunately, make is smart enough to break the recursion even if PKG_VERSION had
> been assigned with = before.
>
>> So statement   $(2)_VERSION = $$(subst /,_,$($(3)_VERSION))
>> should become   $(2)_VERSION := $$(subst /,_,$($(3)_VERSION))
>
>  No, that doesn't make a difference, because the $(MYPKG_VERSION) is still
> expanded too early.
>

I'm pretty sure I said this before, but all these $$$$'s are making me dizzy...
:-D

I will do a test with your suggestion, thanks!

Best regards,
Thomas



More information about the buildroot mailing list