[Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled

Laurent GONZALEZ br2 at gezedo.com
Wed Nov 6 15:33:22 UTC 2013


On 06/11/2013 16:19, Thomas Petazzoni wrote:
> Dear Laurent GONZALEZ,
> 
> On Wed, 06 Nov 2013 11:40:06 +0100, Laurent GONZALEZ wrote:
>> For configurations using a toolchain that is preinstalled on
>> the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
>> empty to avoid downloading any toolchain package.
>>
>> Signed-off-by: GONZALEZ Laurent <br2 at gezedo.com>
>> ---
>>  toolchain/toolchain-external/toolchain-external.mk |    2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
>> index 2722600..6f4feb5 100644
>> --- a/toolchain/toolchain-external/toolchain-external.mk
>> +++ b/toolchain/toolchain-external/toolchain-external.mk
>> @@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
>>  	ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
>>  endef
>>  
>> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
>>  ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
>>  TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
>>  TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
>> @@ -347,6 +348,7 @@ else
>>  TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>>  TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>>  endif
>> +endif
>>  
>>  TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
>>  
> 
> I think the right fix would be something like:
> 
> ifeq ($(...codesourcery..),y)
> ...
> else ifeq ($(...some other toolchain),y)
> ....
> - else
> + else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
> # Custom toolchain
> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> - endif
> + else
> TOOLCHAIN_EXTERNAL_SOURCE =
> endif
> 
> So that TOOLCHAIN_EXTERNAL_SOURCE is empty when the external toolchain
> is locally installed. Having an empty <pkg>_SOURCE is what tells the
> package infrastructure to not download the thing.
> 

I am afraid this won't work, because I really want to choose some 'codesourcery' toolchain *and* avoid download. Preinstalled toolchain has larger scope than custom toolchain.
By the way my patch had another issue, that i will fix and resubmit soon.




More information about the buildroot mailing list