Re: How to detect 32 or 64 bit at build time?
Laurent Guignard wrote:
> On Tue, 08 Sep 2009 00:05:55 -0400, Felipe Sateler wrote:
>> Sven Joachim wrote:
>>
>> > On 2009-09-07 12:54 +0200, Sven Joachim wrote:
>> >
>> >> How about DEB_HOST_ARCH_BITS? This needs dpkg 1.15.4, though.
>> >
>> > Sorry, that should have been DEB_BUILD_ARCH_BITS.
>>
>> As Neil would have pointed out if he were still subscribed to -mentors,
>> DEB_BUILD_* is almost always the wrong choice, otherwise it will
>> cross-build incorrectly.
>>
>> --
>> Felipe Sateler
>>
>
> Is there any documentation about this ?
> Why is it a wrong choice when you want to create a package from sources
> for a specific architecture ?
Because you want the package to build for the architecture you plan to run
it in. Cross compilation means compiling in one architecture for another. A
common case is using an amd64 machine to build arm binaries, because amd64
is so much faster. If you use DEB_BUILD_*, you would are detecting on the
amd64 host, instead of the arm you really want, which you would get with
DEB_HOST_*.
In this case, if you look for DEB_BUILD_*, and the package was being cross-
compiled from amd64 to i386, it would get ARB_64=1 instead of ARB_64=0.
--
Felipe Sateler
Reply to: