[Skiboot] [PATCH] external: Fix cross compilation issue

Vasant Hegde hegdevasant at linux.vnet.ibm.com
Wed Aug 3 15:43:55 AEST 2016


On 07/28/2016 05:53 PM, oliver wrote:
> On Thu, Jul 28, 2016 at 8:40 PM, Patrick Williams <patrick at stwcx.xyz> wrote:
>> On Thu, Jul 28, 2016 at 03:05:38PM +0530, Vasant Hegde wrote:
>>> For some reason Makefile thinks compiler variables like CC is already
>>> assigned and ignores CROSS_COMPILE flags. Hence I'm not able to generate
>>> arm binary on x86.
>>>
>>> Use default assignment operator instead of conditional assignment
>>> operator (?=) in Makefile.
>>>
>>> Fixes: 3137d249 (pflash: Allow building under yocto.)
>>> CC: Patrick Williams <patrick at stwcx.xyz>
>>> CC: Stewart Smith <stewart at linux.vnet.ibm.com>
>>> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
>>> ---
>>>   external/common/rules.mk | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/external/common/rules.mk b/external/common/rules.mk
>>> index bb12fd5..416a40d 100644
>>> --- a/external/common/rules.mk
>>> +++ b/external/common/rules.mk
>>> @@ -1,5 +1,5 @@
>>> -CC ?= $(CROSS_COMPILE)gcc
>>> -LD ?= $(CROSS_COMPILE)ld
>>> +CC = $(CROSS_COMPILE)gcc
>>> +LD = $(CROSS_COMPILE)ld
>>
>> This effectively undoes the change I made in 3137d249, so I'm not sure
>> why we would want it or why it is needed.
>
> make automatically defines CC so the ?= assignment is never done. You
> can get the desired
> behaviour with and ifdef block though:
>
> diff --git a/external/common/rules.mk b/external/common/rules.mk
> index 5558cd3..4dd7942 100644
> --- a/external/common/rules.mk
> +++ b/external/common/rules.mk
> @@ -1,5 +1,8 @@
> -CC ?= $(CROSS_COMPILE)gcc
> -LD ?= $(CROSS_COMPILE)ld
> +ifdef CROSS_COMPILE
> +CC = $(CROSS_COMPILE)gcc
> +LD = $(CROSS_COMPILE)ld
> +endif
> +

Looks better. I will send out v2.

-Vasant



More information about the Skiboot mailing list