[Buildroot] Issue for the integration of Codesourcery external toolchains

Baruch Siach baruch at tkos.co.il
Tue Jan 12 12:48:00 UTC 2010


Hi Thomas,

On Tue, Jan 12, 2010 at 11:54:41AM +0100, Thomas Petazzoni wrote:
> On Wed, 6 Jan 2010 08:59:53 +0200
> Baruch Siach <baruch at tkos.co.il> wrote:
> 
> > >  * Build a more normal sysroot in $(STAGING_DIR) by combining the
> > >    contents of armv4t and the header files. But this would require
> > >    telling gcc that the libraries aren't in armv4t anymore. This is
> > >    probably possible using a custom spec file, but is quite
> > >    complicated.
> > 
> > How about generating symlinks in the staging directory:
> > 
> > armv4t/usr/include -> ../../usr/include
> > thumb2/usr/include -> ../../usr/include
> > 
> > and then using the output of -print-sysroot for each target?
> 
> Because everything in Buildroot assumes that the libraries and headers
> must be installed in $(STAGING_DIR)/usr/include and
> $(STAGING_DIR)/usr/lib, not in $(STAGING_DIR)/armv4/usr/include and
> $(STAGING_DIR)/armv4/usr/lib.

I'll clarify. I suggest the following steps:

1. Copy the entire CodeSourcery sysroot (as reported by -print-sysroot) into 
   $(STAGING_DIR).

2. Create the following symlinks:

    $(STAGING_DIR)/armv4t/usr/include -> ../../usr/include
    $(STAGING_DIR)/thumb2/usr/include -> ../../usr/include

3. Set as necessary:

    STAGING_DIR=$(STAGING_DIR)/armv4t

    or

    STAGING_DIR=$(STAGING_DIR)/thumb2

Buildroot then sees libraries and headers in $(STAGING_DIR)/usr/lib and 
$(STAGING_DIR)/usr/include respectively, as expected.

baruch

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -


More information about the buildroot mailing list