mingw32-gcc and posix paths

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

mingw32-gcc and posix paths

thoni56
I'm in the process of going from gcc3 to gcc4. For one project I need to build both cygwin and win32 executables so "-mno-cygwin" to "mingw32-gcc" was an initial hurdle.

However that is now sorted out, but one thing puzzles me. If the mingw32 is a cygwin cross-compiler why does it not accept paths in the host format (meaning cygwin, posix)? To me this seems very natural. Maybe  I'm biased, but I see no other tools do that, expecting the command line to have the format of the *target*.

mingw32-gcc also produces .d files in its native format by the way.
Reply | Threaded
Open this post in threaded view
|

Re: mingw32-gcc and posix paths

thoni56
thoni56 wrote
I'm in the process of going from gcc3 to gcc4. For one project I need to build both cygwin and win32 executables so "-mno-cygwin" to "mingw32-gcc" was an initial hurdle.

However that is now sorted out, but one thing puzzles me. If the mingw32 is a cygwin cross-compiler why does it not accept paths in the host format (meaning cygwin, posix)? To me this seems very natural. Maybe  I'm biased, but I see no other tools do that, expecting the command line to have the format of the *target*.

mingw32-gcc also produces .d files in its native format by the way.
I forgot to add that it is really this .d thing that makes it problematic. The makefiles generate separate subdirectories for various targets and also sets CFLAGS, CC, LINK et al. differently to allow different settings (and compilers, was my theory) for the different targets.

Since mingw32-gcc and gcc generates .d files in incompatible formats (gcc really doesn't like "c:\..." in its .d files...) and those are included in the make file, even using different make:s does not solve the problem for me.

Any ideas?
Reply | Threaded
Open this post in threaded view
|

Re: mingw32-gcc and posix paths

JonY-6
On 8/29/2012 14:15, thoni56 wrote:

>
> thoni56 wrote
>>
>> I'm in the process of going from gcc3 to gcc4. For one project I need to
>> build both cygwin and win32 executables so "-mno-cygwin" to "mingw32-gcc"
>> was an initial hurdle.
>>
>> However that is now sorted out, but one thing puzzles me. If the mingw32
>> is a cygwin cross-compiler why does it not accept paths in the host format
>> (meaning cygwin, posix)? To me this seems very natural. Maybe  I'm biased,
>> but I see no other tools do that, expecting the command line to have the
>> format of the *target*.
>>
>> mingw32-gcc also produces .d files in its native format by the way.
>>
>
> I forgot to add that it is really this .d thing that makes it problematic.
> The makefiles generate separate subdirectories for various targets and also
> sets CFLAGS, CC, LINK et al. differently to allow different settings (and
> compilers, was my theory) for the different targets.
>
> Since mingw32-gcc and gcc generates .d files in incompatible formats (gcc
> really doesn't like "c:\..." in its .d files...) and those are included in
> the make file, even using different make:s does not solve the problem for
> me.
>
> Any ideas?
Cygwin does not and never has provided a "mingw32-gcc", but it has a
"i686-pc-mingw32-gcc", it is likely you used those from mingw.org.

mingw.org provides native toolchains, so it is not Cygwin aware, it
would explain your path issues.



signature.asc (203 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: mingw32-gcc and posix paths

thoni56
JonY-6 wrote
On 8/29/2012 14:15, thoni56 wrote:
>
> thoni56 wrote
>>
>> I'm in the process of going from gcc3 to gcc4. For one project I need to
>> build both cygwin and win32 executables so "-mno-cygwin" to "mingw32-gcc"
>> was an initial hurdle.
>>
>> However that is now sorted out, but one thing puzzles me. If the mingw32
>> is a cygwin cross-compiler why does it not accept paths in the host format
>> (meaning cygwin, posix)? To me this seems very natural. Maybe  I'm biased,
>> but I see no other tools do that, expecting the command line to have the
>> format of the *target*.
>>
>> mingw32-gcc also produces .d files in its native format by the way.
>>
>
> I forgot to add that it is really this .d thing that makes it problematic.
> The makefiles generate separate subdirectories for various targets and also
> sets CFLAGS, CC, LINK et al. differently to allow different settings (and
> compilers, was my theory) for the different targets.
>
> Since mingw32-gcc and gcc generates .d files in incompatible formats (gcc
> really doesn't like "c:\..." in its .d files...) and those are included in
> the make file, even using different make:s does not solve the problem for
> me.
>
> Any ideas?

Cygwin does not and never has provided a "mingw32-gcc", but it has a
"i686-pc-mingw32-gcc", it is likely you used those from mingw.org.

mingw.org provides native toolchains, so it is not Cygwin aware, it
would explain your path issues.
Ooops. I was misled by a comment to this question on Stackoverflow. As it happened I had a very old version of mingw32-gcc installed and in my PATH. Sorry about that!

"i686-w64-mingw32-gcc" (which it is in my cygwin) works perfectly. Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: mingw32-gcc and posix paths

Sven Köhler-2
Am 29.08.2012 18:08, schrieb thoni56:
> "i686-w64-mingw32-gcc" (which it is in my cygwin) works perfectly. Thanks!

That is actually not MinGW (formely known as mingw32), but MinGW-w64 (a
new project, independent from the "old" MinGW32 project).
That's why JonY pointed you at i686-pc-mingw32-gcc, which is the old
MinGW (but not MinGW-w64) compiler.

http://www.mingw.org/
http://mingw-w64.sourceforge.net/

If you have a choice, I'd recommend MinGW-w64 since the project is very
alive and JonY provides regular updates of the cygwin packages.



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: mingw32-gcc and posix paths

Earnie Boyd
On Thu, Aug 30, 2012 at 6:10 AM, Sven Köhler wrote:
> Am 29.08.2012 18:08, schrieb thoni56:
>> "i686-w64-mingw32-gcc" (which it is in my cygwin) works perfectly. Thanks!
>
> That is actually not MinGW (formely known as mingw32),

It is no such thing.  It is known as MinGW.org.

> but MinGW-w64 (a
> new project, independent from the "old" MinGW32 project).
> That's why JonY pointed you at i686-pc-mingw32-gcc, which is the old
> MinGW (but not MinGW-w64) compiler.
>
> http://www.mingw.org/
> http://mingw-w64.sourceforge.net/
>
> If you have a choice, I'd recommend MinGW-w64 since the project is very
> alive and JonY provides regular updates of the cygwin packages.

We are as much alive as this adjunct mingw-w64 project is.

Sorry list, I could not let this slide by unchallenged.

--
Earnie
-- https://sites.google.com/site/earnieboyd

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple