Meaning of gcc-mingw toolset

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

Meaning of gcc-mingw toolset

Boost - Build mailing list
In the multiprecision testing jamfile there is a line which has the
requirement:

<toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj

I do not see a toolset called gcc-mingw nor do I see a subfeature of the
gcc toolset called mingw. I do realize that the gcc toolset has support
for mingw gcc on Windows, which I use myself in my user-config.jam with
the plain designation of:

using gcc : nnn : etc ;

but the nnn is always a version number, like 9.3. The gcc.jam picks up
that this is mingw-w64/gcc implementation internally and works fine with
it. But whatever '<toolset>gcc-mingw' is supposed to mean it does not
applu to my "toolset=gcc-nnn' when I run the test. Can anyone enlighten
me as to what is going on here ?

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of gcc-mingw toolset

Boost - Build mailing list
AMDG

On 4/15/20 4:45 AM, Edward Diener via Boost-build wrote:
> In the multiprecision testing jamfile there is a line which has the
> requirement:
>
> <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj
>
> I do not see a toolset called gcc-mingw nor do I see a subfeature of the
> gcc toolset called mingw.

The subfeature is called flavor.

> I do realize that the gcc toolset has support
> for mingw gcc on Windows, which I use myself in my user-config.jam with
> the plain designation of:
>
> using gcc : nnn : etc ;
>
> but the nnn is always a version number, like 9.3. The gcc.jam picks up
> that this is mingw-w64/gcc implementation internally and works fine with
> it. But whatever '<toolset>gcc-mingw' is supposed to mean it does not
> applu to my "toolset=gcc-nnn' when I run the test.

What is the path component for the toolset?  It should be
gcc-mingw-nnn.  Otherwise the detection for mingw isn't working.
Also, I recall that there used to be problems if you have both
mingw and non-mingw versions of gcc.  I don't remember whether
that was ever fixed.

> Can anyone enlighten
> me as to what is going on here ?
>
In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of gcc-mingw toolset

Boost - Build mailing list
On 4/16/2020 7:03 AM, Steven Watanabe via Boost-build wrote:

> AMDG
>
> On 4/15/20 4:45 AM, Edward Diener via Boost-build wrote:
>> In the multiprecision testing jamfile there is a line which has the
>> requirement:
>>
>> <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj
>>
>> I do not see a toolset called gcc-mingw nor do I see a subfeature of the
>> gcc toolset called mingw.
>
> The subfeature is called flavor.
>
>> I do realize that the gcc toolset has support
>> for mingw gcc on Windows, which I use myself in my user-config.jam with
>> the plain designation of:
>>
>> using gcc : nnn : etc ;
>>
>> but the nnn is always a version number, like 9.3. The gcc.jam picks up
>> that this is mingw-w64/gcc implementation internally and works fine with
>> it. But whatever '<toolset>gcc-mingw' is supposed to mean it does not
>> applu to my "toolset=gcc-nnn' when I run the test.
>
> What is the path component for the toolset?  It should be
> gcc-mingw-nnn.  Otherwise the detection for mingw isn't working.
> Also, I recall that there used to be problems if you have both
> mingw and non-mingw versions of gcc.  I don't remember whether
> that was ever fixed.

What do you mean by "the path component of the toolset" ?


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of gcc-mingw toolset

Boost - Build mailing list
In reply to this post by Boost - Build mailing list


> -----Original Message-----
> From: Steven Watanabe <[hidden email]>
> Sent: 16 April 2020 12:04
> To: Edward Diener via Boost-build <[hidden email]>
> Subject: Re: [Boost-build] Meaning of gcc-mingw toolset
>
> AMDG
>
> On 4/15/20 4:45 AM, Edward Diener via Boost-build wrote:
> > In the multiprecision testing jamfile there is a line which has the
> > requirement:
> >
> > <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj
> >
> > I do not see a toolset called gcc-mingw nor do I see a subfeature of
> > the gcc toolset called mingw.
>
> The subfeature is called flavor.
>
> > I do realize that the gcc toolset has support for mingw gcc on
> > Windows, which I use myself in my user-config.jam with the plain
> > designation of:
> >
> > using gcc : nnn : etc ;
> >
> > but the nnn is always a version number, like 9.3. The gcc.jam picks up
> > that this is mingw-w64/gcc implementation internally and works fine
> > with it. But whatever '<toolset>gcc-mingw' is supposed to mean it does
> > not applu to my "toolset=gcc-nnn' when I run the test.
>
> What is the path component for the toolset?  It should be gcc-mingw-nnn.
> Otherwise the detection for mingw isn't working.
> Also, I recall that there used to be problems if you have both mingw and non-
> mingw versions of gcc.  I don't remember whether that was ever fixed.

Thanks for this enlightenment.  I think that not understanding how this should work was part of our problem(s).

Also get fails for a multiprecision example floating-point_examples.cpp that used to work before.

But now I see some reports that suggest that there might also be a problem with mingw and option -mbig-obj' -
not only has GCC version changed but also a new release of mingw64.

And none of the test runners using mingw, so we have no warning of trouble.

But armed with your invaluable info, we may be able to pinpoint the faults more intelligently.

Thanks

Paul




_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of gcc-mingw toolset

Boost - Build mailing list
In reply to this post by Boost - Build mailing list


> -----Original Message-----
> From: Steven Watanabe <[hidden email]>
> Sent: 16 April 2020 12:04
> To: Edward Diener via Boost-build <[hidden email]>
> Subject: Re: [Boost-build] Meaning of gcc-mingw toolset
>
> AMDG
>
> On 4/15/20 4:45 AM, Edward Diener via Boost-build wrote:
> > In the multiprecision testing jamfile there is a line which has the
> > requirement:
> >
> > <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj
> >
> > I do not see a toolset called gcc-mingw nor do I see a subfeature of
> > the gcc toolset called mingw.
>
> The subfeature is called flavor.
>
> > I do realize that the gcc toolset has support for mingw gcc on
> > Windows, which I use myself in my user-config.jam with the plain
> > designation of:
> >
> > using gcc : nnn : etc ;
> >
> > but the nnn is always a version number, like 9.3. The gcc.jam picks up
> > that this is mingw-w64/gcc implementation internally and works fine
> > with it. But whatever '<toolset>gcc-mingw' is supposed to mean it does
> > not applu to my "toolset=gcc-nnn' when I run the test.
>
> What is the path component for the toolset?  It should be gcc-mingw-nnn.
> Otherwise the detection for mingw isn't working.
> Also, I recall that there used to be problems if you have both mingw and non-
> mingw versions of gcc.  I don't remember whether that was ever fixed.

Sadly I can't get this to work.  Perhaps I have misunderstood what you suggested.

      [ run floating_point_examples.cpp no_eh_eg_support : : : <toolset>gcc-mingw-10.0.1:<cxxflags>\"-Wa,-mbig-obj\" ] # See note above.

I:\boost\libs\multiprecision\example>b2 -a -d2 toolset=gcc-mingw-10.0.1 floating_point_examples > .fp_examples_gccmingw10.0.1_16apr2020.log

I:/boost/tools/build/src/tools\gcc.jam:203: in gcc.init from module gcc
error: toolset gcc initialization:
error: version 'mingw-10.0.1' requested but 'g++-mingw-10.0.1' not found and version '9.2.0' of default 'g++' does not match
error: initialized from ...
I:/boost/tools/build/src/build\toolset.jam:44: in toolset.using from module toolset

I have confirmed that GCC 10.0.1 is my 'default' version - 1st in the user-config.jam

gcc.compile.c++ ..\..\..\bin.v2\libs\multiprecision\example\floating_point_examples.test\gcc-10.0.1\debug\threading-multi\visibility-hidden\floating_point_examples.o

    "C:/Program Files/mingw-w64/mingw-w64-x86_64-10.0.1-snapshot20200223-7.0.0-r1/mingw64/bin/g++.exe"   -fvisibility-inlines-hidden -m64 -mthreads -O0 -fno-inline -Wall -g -fvisibility=hidden -Wno-missing-braces -DBOOST_ALL_NO_LIB=1  -I"..\..\.." -I"..\include" -c -o "..\..\..\bin.v2\libs\multiprecision\example\floating_point_examples.test\gcc-10.0.1\debug\threading-multi\visibility-hidden\floating_point_examples.o" "floating_point_examples.cpp"

So uses GCC 10.0.1 but does not pass the
  <toolset>gcc-mingw-10.0.1:<cxxflags>\"-Wa,-mbig-obj\"
  and so the assembly fails, as expected when not mingw.

Suggestions?

Thanks, as ever.

Paul




_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Meaning of gcc-mingw toolset

Boost - Build mailing list
AMDG

On 4/16/20 9:19 AM, [hidden email] wrote:
>
>> On 4/15/20 4:45 AM, Edward Diener via Boost-build wrote:
>>> In the multiprecision testing jamfile there is a line which has the
>>> requirement:
>>>
>>> <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj
>>>
>>> <snip>
>> What is the path component for the toolset?  It should be gcc-mingw-nnn.

I meant the name used in the target path: .../bin.v2/.../gcc-nnn/...

>> Otherwise the detection for mingw isn't working.
>> Also, I recall that there used to be problems if you have both mingw and non-
>> mingw versions of gcc.  I don't remember whether that was ever fixed.
>
> Sadly I can't get this to work.  Perhaps I have misunderstood what you suggested.
>

My suggestion was out-dated.  There is no longer a mingw feature.
Embarrassingly enough, I was the one who removed it.
Instead, use <toolset>gcc-10.0.1,<target-os>windows:<cxxflags>....
I thought I PRed all the uses of mingw before I made the
changes in Boost.Build, but I must have missed this one.

>       [ run floating_point_examples.cpp no_eh_eg_support : : : <toolset>gcc-mingw-10.0.1:<cxxflags>\"-Wa,-mbig-obj\" ] # See note above.
>

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build