On 8/13/2010 8:50 AM, Peter Rosin wrote: > Den 2010-08-13 13:45 skrev Christopher Hulbert: >> Peter: I think you are targeting mingw correct? I am targeting purely >> native Windows. Is there actually any difference in these? Would it >> make sense to have a windows host type (e.g. i686-pc-windows and >> x86_64-pc-windows)? > > From my POV, MinGW is native Windows. In what way isn't it? If we > invent the host *-windows, what is then $build? If we are on > MSYS, it will be *-mingw*. If we are on Cygwin, it will be *-cygwin*, > and we are forever stuck in cross-compiler setups. But MSYS/MinGW > is happily (well, mostly) running in its faked cross mode, why not > take advantage of its deception?
There is a difference between $host and $CC; there isn't (and shouldn't be) a one-to-one correspondence between the two (e.g. you should not require a different $host triple for every compiler that operates on a platform). Since the first compiler for native windows that the autotools supported was mingw, the triple for native (32bit) windows is "i?86-pc-mingw32" even if CC=cl and not gcc. libtool should key its changes for the various compilers ON that platform (intel cc, cl, or gcc) by the value of $CC. (or $cc_basename, if you need to strip a target triple off the base compiler name) -- and not invent new $hosts. Now, suppose you did this: --host=i686-pc-mingw32 --build=i686-pc-cygwin Well, that's a cross compiler setup. We'll soon have better support for the oddities that arise when using cross compilers that involve cygwin|mingw as either $host or $build. I posted a patch for this some time ago, but need to revise and repost -- but not until after the current sysroot fracas is resolved. Anyway, THEN, the next step would be to test and fix support for --host=i686-pc-mingw32 --build=i686-pc-cygwin CC="some-compiler-we-haven't-thought-of-yet" -- Chuck