[Buildroot] [PATCH] Fix TARGET_PATH variable with external toolchain

Lionel Landwerlin llandwerlin at gmail.com
Tue Oct 27 09:45:07 UTC 2009


Le mardi 27 octobre 2009 à 08:44 +0100, Thomas Petazzoni a écrit :
> Le Sat, 24 Oct 2009 20:37:57 +0200,
> Peter Korsgaard <jacmet at uclibc.org> a écrit :
> 
> >  Lionel> Some time ago, an external toolchain improvement patch added
> >  Lionel> $(HOST_DIR)/bin and $(HOST_DIR)/usr/bin to the TARGET_PATH
> >  Lionel> variable. This patch also removed $(STAGING_DIR)/bin and
> >  Lionel> $(STAGING_DIR)/usr/bin to TARGET_PATH which breaks the build
> >  Lionel> of the WebKit package for example.
> > 
> >  Lionel> WebKit depends on the icu package, and when configuring the
> >  Lionel> package, there is a need to run icu-config which is
> >  Lionel> installed inside the staging directory.
> > 
> > I don't like this, as it mixes binaries/scripts for the host and the
> > target - I think it's better for the icu package to install the host
> > tool into host/usr/bin as well instead.
> 
> As part of my work on the package infrastructure, I converted icu over
> to the new format.
> 
> At first, I'd agree with you that icu-config, being executed on the
> host, should theorically be installed in $(HOST_DIR). However, this
> raises an issue : icu is compiled twice, once for the host, once for
> the target.
> 
> In the current package/icu/icu.mk, the host icu is not installed at
> all, but my package infrastructure work converts it to a more normal
> package where the host icu is installed in $(HOST_DIR). Therefore, the
> host icu installs its own icu-config in $(HOST_DIR)/usr/bin.
> 
> Then, we build the target icu, which also installs its own icu-config,
> in $(STAGING_DIR)/usr/bin. It is not possible to install this
> icu-config into $(HOST_DIR)/usr/bin, otherwise it would overwrite the
> host-icu one.
> 
> Therefore, I think we have no other choice than leaving the *-config
> stuff into $(STAGING_DIR)/usr/bin and then finding some trick to get
> them executed even if $(STAGING_DIR)/usr/bin is not in the PATH.
> 
> What do you think about this ?
> 

Sounds right to me.

Let's add

 WEBKIT_CONF_ENV = icu_config=$(STAGING_DIR)/usr/bin/icu-config

to the webkit makefile.





More information about the buildroot mailing list