--host=i386-redhat-linux-gnu --target=i686-redhat-linux-gnu ???

Panu Matilainen pmatilai at laiskiainen.org
Wed Feb 3 13:20:39 UTC 2010

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 at 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 

I dont feel quite confortable to changing it to something that causes 
"this will not be supported in future" and other warnings.

 	- Panu -

More information about the devel mailing list