* [PATCH 2/5] Add support for the MinGW platform @ 2013-05-21 19:16 Ramsay Jones 2013-05-21 22:09 ` Josh Triplett 0 siblings, 1 reply; 5+ messages in thread From: Ramsay Jones @ 2013-05-21 19:16 UTC (permalink / raw) To: Christopher Li; +Cc: Sparse Mailing-list Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> --- cgcc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cgcc b/cgcc index c075e5f..e94a965 100755 --- a/cgcc +++ b/cgcc @@ -226,6 +226,19 @@ sub add_specs { ' -D__OpenBSD__=1'; } elsif ($spec eq 'unix') { return ' -Dunix=1 -D__unix=1 -D__unix__=1'; + } elsif ($spec =~ /^mingw/) { + return ' -isystem /mingw/include' . + ' -D__MINGW32__=1' . + ' -D__MSVCRT__=1' . + ' -DWIN32=1 -D_WIN32=1 -D__WIN32=1 -D__WIN32__=1' . + ' -DWINNT=1 -D__WINNT=1 -D__WINNT__=1' . + " -D'_cdecl=__attribute__((__cdecl__))'" . + " -D'__cdecl=__attribute__((__cdecl__))'" . + " -D'_stdcall=__attribute__((__stdcall__))'" . + " -D'__stdcall=__attribute__((__stdcall__))'" . + " -D'_fastcall=__attribute__((__fastcall__))'" . + " -D'__fastcall=__attribute__((__fastcall__))'" . + " -D'__declspec(x)=__attribute__((x))'"; } elsif ( $spec =~ /^cygwin/) { return &add_specs ('unix') . ' -D__CYGWIN__=1 -D__CYGWIN32__=1' . -- 1.8.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/5] Add support for the MinGW platform 2013-05-21 19:16 [PATCH 2/5] Add support for the MinGW platform Ramsay Jones @ 2013-05-21 22:09 ` Josh Triplett 2013-05-22 22:07 ` Ramsay Jones 0 siblings, 1 reply; 5+ messages in thread From: Josh Triplett @ 2013-05-21 22:09 UTC (permalink / raw) To: Ramsay Jones; +Cc: Christopher Li, Sparse Mailing-list On Tue, May 21, 2013 at 08:16:38PM +0100, Ramsay Jones wrote: > Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> I believe this will match both 32-bit and 64-bit MinGW, which seems wrong. Please do check the architecture strings for 32-bit and 64-bit MinGW, and handle them separately. > --- > cgcc | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/cgcc b/cgcc > index c075e5f..e94a965 100755 > --- a/cgcc > +++ b/cgcc > @@ -226,6 +226,19 @@ sub add_specs { > ' -D__OpenBSD__=1'; > } elsif ($spec eq 'unix') { > return ' -Dunix=1 -D__unix=1 -D__unix__=1'; > + } elsif ($spec =~ /^mingw/) { > + return ' -isystem /mingw/include' . > + ' -D__MINGW32__=1' . > + ' -D__MSVCRT__=1' . > + ' -DWIN32=1 -D_WIN32=1 -D__WIN32=1 -D__WIN32__=1' . > + ' -DWINNT=1 -D__WINNT=1 -D__WINNT__=1' . > + " -D'_cdecl=__attribute__((__cdecl__))'" . > + " -D'__cdecl=__attribute__((__cdecl__))'" . > + " -D'_stdcall=__attribute__((__stdcall__))'" . > + " -D'__stdcall=__attribute__((__stdcall__))'" . > + " -D'_fastcall=__attribute__((__fastcall__))'" . > + " -D'__fastcall=__attribute__((__fastcall__))'" . > + " -D'__declspec(x)=__attribute__((x))'"; > } elsif ( $spec =~ /^cygwin/) { > return &add_specs ('unix') . > ' -D__CYGWIN__=1 -D__CYGWIN32__=1' . > -- > 1.8.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sparse" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/5] Add support for the MinGW platform 2013-05-21 22:09 ` Josh Triplett @ 2013-05-22 22:07 ` Ramsay Jones 2013-05-23 0:46 ` Josh Triplett 0 siblings, 1 reply; 5+ messages in thread From: Ramsay Jones @ 2013-05-22 22:07 UTC (permalink / raw) To: Josh Triplett; +Cc: Christopher Li, Sparse Mailing-list Josh Triplett wrote: > On Tue, May 21, 2013 at 08:16:38PM +0100, Ramsay Jones wrote: >> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> > > I believe this will match both 32-bit and 64-bit MinGW, which seems > wrong. Please do check the architecture strings for 32-bit and 64-bit > MinGW, and handle them separately. Yes, given that, for me: $ uname -a MINGW32_NT-5.1 TOSHIBA 1.0.12(0.46/3/2) 2010-02-05 01:08 i686 unknown $ I'm hoping that the following change will be sufficient (I don't have access to a 64-bit MinGW, so I don't know what 'uname -a' returns, but I think this will work ... ;-): $ git diff diff --git a/cgcc b/cgcc index e94a965..68f96b9 100755 --- a/cgcc +++ b/cgcc @@ -226,7 +226,7 @@ sub add_specs { ' -D__OpenBSD__=1'; } elsif ($spec eq 'unix') { return ' -Dunix=1 -D__unix=1 -D__unix__=1'; - } elsif ($spec =~ /^mingw/) { + } elsif ($spec =~ /^mingw32/) { return ' -isystem /mingw/include' . ' -D__MINGW32__=1' . ' -D__MSVCRT__=1' . $ ATB, Ramsay Jones ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/5] Add support for the MinGW platform 2013-05-22 22:07 ` Ramsay Jones @ 2013-05-23 0:46 ` Josh Triplett 2013-05-25 19:37 ` Ramsay Jones 0 siblings, 1 reply; 5+ messages in thread From: Josh Triplett @ 2013-05-23 0:46 UTC (permalink / raw) To: Ramsay Jones; +Cc: Christopher Li, Sparse Mailing-list On Wed, May 22, 2013 at 11:07:27PM +0100, Ramsay Jones wrote: > Josh Triplett wrote: > > On Tue, May 21, 2013 at 08:16:38PM +0100, Ramsay Jones wrote: > >> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> > > > > I believe this will match both 32-bit and 64-bit MinGW, which seems > > wrong. Please do check the architecture strings for 32-bit and 64-bit > > MinGW, and handle them separately. > > Yes, given that, for me: > > $ uname -a > MINGW32_NT-5.1 TOSHIBA 1.0.12(0.46/3/2) 2010-02-05 01:08 i686 unknown > $ > > I'm hoping that the following change will be sufficient (I don't have > access to a 64-bit MinGW, so I don't know what 'uname -a' returns, but > I think this will work ... ;-): > > $ git diff > diff --git a/cgcc b/cgcc > index e94a965..68f96b9 100755 > --- a/cgcc > +++ b/cgcc > @@ -226,7 +226,7 @@ sub add_specs { > ' -D__OpenBSD__=1'; > } elsif ($spec eq 'unix') { > return ' -Dunix=1 -D__unix=1 -D__unix__=1'; > - } elsif ($spec =~ /^mingw/) { > + } elsif ($spec =~ /^mingw32/) { Unfortunately, I don't think that suffices; I've seen a few different architecture triples used for 64-bit MinGW, some of which include "mingw32". I *think* it might work to match i[3-6]86-.*-mingw. - Josh Triplett ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/5] Add support for the MinGW platform 2013-05-23 0:46 ` Josh Triplett @ 2013-05-25 19:37 ` Ramsay Jones 0 siblings, 0 replies; 5+ messages in thread From: Ramsay Jones @ 2013-05-25 19:37 UTC (permalink / raw) To: Josh Triplett; +Cc: Christopher Li, Sparse Mailing-list Josh Triplett wrote: > On Wed, May 22, 2013 at 11:07:27PM +0100, Ramsay Jones wrote: >> Josh Triplett wrote: >>> On Tue, May 21, 2013 at 08:16:38PM +0100, Ramsay Jones wrote: >>>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> >>> >>> I believe this will match both 32-bit and 64-bit MinGW, which seems >>> wrong. Please do check the architecture strings for 32-bit and 64-bit >>> MinGW, and handle them separately. >> >> Yes, given that, for me: >> >> $ uname -a >> MINGW32_NT-5.1 TOSHIBA 1.0.12(0.46/3/2) 2010-02-05 01:08 i686 unknown >> $ >> >> I'm hoping that the following change will be sufficient (I don't have >> access to a 64-bit MinGW, so I don't know what 'uname -a' returns, but >> I think this will work ... ;-): >> >> $ git diff >> diff --git a/cgcc b/cgcc >> index e94a965..68f96b9 100755 >> --- a/cgcc >> +++ b/cgcc >> @@ -226,7 +226,7 @@ sub add_specs { >> ' -D__OpenBSD__=1'; >> } elsif ($spec eq 'unix') { >> return ' -Dunix=1 -D__unix=1 -D__unix__=1'; >> - } elsif ($spec =~ /^mingw/) { >> + } elsif ($spec =~ /^mingw32/) { > > Unfortunately, I don't think that suffices; I've seen a few different > architecture triples used for 64-bit MinGW, some of which include > "mingw32". You are kidding, right? > I *think* it might work to match i[3-6]86-.*-mingw. Is this pattern to be matched against "uname -s"? Maybe I could match "uname -m" to i?86 *in addition* to the above? At this point I'm guessing. Again, I don't have access to a 64-bit MinGW system. Maybe support for 64-bit MinGW should be implemented by a patch on top of this one (by someone who uses 64-bit MinGW). ATB, Ramsay Jones ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-05-25 20:04 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-05-21 19:16 [PATCH 2/5] Add support for the MinGW platform Ramsay Jones 2013-05-21 22:09 ` Josh Triplett 2013-05-22 22:07 ` Ramsay Jones 2013-05-23 0:46 ` Josh Triplett 2013-05-25 19:37 ` Ramsay Jones
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).