On Wed, 3 Feb 2010, Ralf Corsepius wrote:
On 02/03/2010 10:05 AM, Panu Matilainen wrote:
> On Tue, 2 Feb 2010, Bill Nottingham wrote:
>
>> Panu Matilainen (pmatilai(a)laiskiainen.org) said:
>>>> %{_host} is set by the rpm package in the macros file, %{_build}
>>>> defaults
>>>> to the value of %{_host}. %{_target_platform} comes from --target on
>>>> the command line, plus the usual vendor/OS bits
>>>>
>>>> --target is what is set by rpm/mock. I think it defaults to %{_host}
>>>> if it's not otherwise specified, but we specify it when building for
>>>> i686,
>>>> as we could theoretically still build i386 packages.
>>>
>>> Yup, and all wonderfully mixed up - rpm's idea of --target is something
>>> completely different from what auto*foo from this century thinks of it.
>>> Dunno if it ever was really valid but certainly not anymore.
>>>
>>> rpm>= 4.8.0 no longer sets the --target on %configure but that's been
>>> masked by the redhat-rpm-config version of %configure. That's been fixed
>>> too as of today.
>>
>> Is either %_host or %_build set based on --target?
>
> No... as there's no correct way to map rpm's --target to autotools
> expectations.
There is: rpm's --target is autoconf's --host
Yes, that's what would be the clean mapping. But as I said in the latter
part (which you cut out here): much/most of the time rpm's --target is
used to specify sub-architecture optimization levels (--target i686 on
i386 or --target i686 on x86_64) which aren't cross-compiles. Just mapping
rpm's --target to autoconf --host causes autoconf to complain in these
situations.
I dont feel quite confortable to changing it to something that causes
"this will not be supported in future" and other warnings.
- Panu -