On 4/20/2017 4:00 AM, Michael Haubenwallner wrote:
> 
> On 04/19/2017 11:57 PM, Ben Elliston wrote:
>> On Wed, Apr 19, 2017 at 07:40:30PM +0200, Michael Haubenwallner wrote:
>>
>>> Subject: [PATCH] * config.guess: Support MSVC compiler on Windows.
>>
>> Why aren't you just running uname?  There's no need to run a compiler
>> to determine the machine architecture.
> 
> This is kind of "multilib", where one machine can run binaries of multiple
> architectures, like 32bit and 64bit, while uname tells about the underlying
> POSIX-like system only (which provides the SHELL).
> 
> For example, I'm using x86_64 Cygwin to run cl.exe creating 32bit binaries,
> which can be executed, so it's not a "cross"-compile. Now the host triplet
> should be i686-pc-winnt, but uname can tell x86_64 (cygwin) only.
> 

The config.* scripts weren't meant to do this.  Executing a compiler
isn't the correct thing to do.  Use the --host and --build options of
configure to overcome the issue.  You might have luck with MSYS by
setting the MSYSTEM environment variable to a value of WINNT.  But that
won't help with the "multilib" issue either; the only option for that is
--host and --build options.  And you would need to set the CC variable
of course outside of configure.

Another option that I've employed in the past is to create a cc script
that DTRT regardless of uname.  The cc script just executes the compiler
of choice and interpolates the compiler options.

-- 
Earnie

_______________________________________________
config-patches mailing list
config-patches@gnu.org
https://lists.gnu.org/mailman/listinfo/config-patches

Reply via email to