[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Chicken integration into OpenEmbedded
From: |
Otavio Salvador |
Subject: |
Re: [Chicken-users] Chicken integration into OpenEmbedded |
Date: |
Tue, 14 Jun 2011 16:16:51 +0000 |
On Tue, Jun 14, 2011 at 15:26, Felix
<address@hidden> wrote:
>>> The PROGRAM_PREFIX setting also applies to the library name, so
>>> PROGRAM_PREFIX=foo will install the chicken library as
>>> ".../lib/lib<PROGRAM_PREFIX>chicken.so[.6]". This is intended to
>>> allow multiple chicken installations in the same prefix. But (as I
>>> assume) since you install the chicken run-time parts on the target
>>> system without prefix, this will not match the host system. You show
>>> me here that this is not totally correct when building a
>>> cross-chicken...
>>
>> I think that TARGET_LIB_NAME shouldn't default to PROGRAM_PREFIX
>> mangled one. The built library will really have the prefix but this
>> doesn't mean I want to link against that library. In fact, when using
>> -target I do want to link against another library and not the cross
>> one.
>
> Yes, applying PROGRAM_PREFIX is probably wrong. But you want to link
> in "-target" mode with the native libchicken.so, which will be used
> on the target (that is, the one native to the target system), right?
For OE and as far as I know for most toolchain documents native means
the binary to run on host. So I am using "-target" to instruct cross
chicken toolchain to link against target (binary thar will run on
target) library.
>> The last remaining issue now is to be able to run native code during
>> the build process. Currently we have:
>>
>> * chicken-cross: this has been installed with PROGRAM_PREFIX and it works
>> fine;
>> * chicken-native and chicken-egg-*-native: the native build tools
>> don't have the PROGRAM_PREFIX set;
>>
>> Basically this end up with the following layout:
>>
>> sysroot/var/lib/${TARGET}-chicken/6/ (chicken-cross)
>>
>> and
>>
>> sysroot/var/lib/chicken/6/ (chicken-native)
>>
>> Thus, the native eggs gets installed into var/lib/chicken/6/ however
>> chicken-cross cannot find them when trying to run native code during
>> the build process.
>>
>> Any idea how to fix it?
>
> I'm not sure I've understood, but if you want the cross-chicken to use
> native eggs (that run on the build platform, which I call "host", but
> the terminology is not consistent), then you should install eggs with
> the "-host" option.
Yes, I want to use native eggs (what you can host).
The problem is that I do have chicken-native and this is used to build
the binaries to be used by host. So the eggs end being installed into
/var/lib/chicken/6/ but has the binary format to be run on host (in my
case amd64).
I therefore cannot build them with the cross chicken but want it to be
able to load the native ones.
--
Otavio Salvador O.S. Systems
E-mail: address@hidden http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br