Re: [PATCH v2 08/16] engine.pl: ignore invalidcontinue.obj which is known to MSVC
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Jul 20, 2015, 06:13 UTC
- Message-ID
- <53A9335E62C64D578188F002443E6247@PhilipOakley>
- In-Reply-To
- <CAPig+cRYPVg-YOvUvH=7QViDRChG1Lvwt84-3z8ERjBMVdrvnw@mail.gmail.com>
From: "Eric Sunshine" <sunshine@sunshineco.com> Sent: Monday, July 20, 2015 2:54 AM
Show 9 quoted lines
> On Sun, Jul 19, 2015 at 4:08 PM, Philip Oakley <philipoakley@iee.org> > wrote: >> Commit 4b623d8 (MSVC: link in invalidcontinue.obj for better >> POSIX compatibility, 2014-03-29) is not processed correctly >> by the buildsystem. Ignore it. > > What does "not processed correctly" mean? For a person reading the > commit message, but lacking your experience with this, "not processed > correctly" seems akin to "it doesn't work"[1].
True, it didn't work...
> Can the commit message > provide a bit more detail?
In fact it is `parsing` (not just `processing`) the output of a 'make --dry-run', and essentially the old parser did not handle .obj files correctly. The deliberate introduction of this .obj file had to be handled, and given it's deliberate inclusion I wanted some deliberate handling code.
A subsequent patch then fixes the generic .obj issue.
I'll update the commit message. Thanks for noticing the slack writing.
> > [1]: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
A timely reminder of this article...
Show 53 quoted lines
>
>> Also split the .o and .obj processing; 'make' does not produce .obj
>> files. Only substitute filenames ending with .o when generating the
>> source .c filename.
>>
>> Signed-off-by: Philip Oakley <philipoakley@iee.org>
>> ---
>> contrib/buildsystems/engine.pl | 10 +++++++---
>> 1 file changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/contrib/buildsystems/engine.pl
>> b/contrib/buildsystems/engine.pl
>> index 60c7a7d..9db3d43 100755
>> --- a/contrib/buildsystems/engine.pl
>> +++ b/contrib/buildsystems/engine.pl
>> @@ -289,7 +289,7 @@ sub handleLibLine
>> # exit(1);
>> foreach (@objfiles) {
>> my $sourcefile = $_;
>> - $sourcefile =~ s/\.o/.c/;
>> + $sourcefile =~ s/\.o$/.c/;
>> push(@sources, $sourcefile);
>> push(@cflags, @{$compile_options{"${sourcefile}_CFLAGS"}});
>> push(@defines,
>> @{$compile_options{"${sourcefile}_DEFINES"}});
>> @@ -333,8 +333,12 @@ sub handleLinkLine
>> } elsif ($part =~ /\.(a|lib)$/) {
>> $part =~ s/\.a$/.lib/;
>> push(@libs, $part);
>> - } elsif ($part =~ /\.(o|obj)$/) {
>> + } elsif ($part eq 'invalidcontinue.obj') {
>> + # ignore - known to MSVC
>> + } elsif ($part =~ /\.o$/) {
>> push(@objfiles, $part);
>> + } elsif ($part =~ /\.obj$/) {
>> + # do nothing, 'make' should not be producing .obj, only
>> .o files
>> } else {
>> die "Unhandled link option @ line $lineno: $part";
>> }
>> @@ -343,7 +347,7 @@ sub handleLinkLine
>> # exit(1);
>> foreach (@objfiles) {
>> my $sourcefile = $_;
>> - $sourcefile =~ s/\.o/.c/;
>> + $sourcefile =~ s/\.o$/.c/;
>> push(@sources, $sourcefile);
>> push(@cflags, @{$compile_options{"${sourcefile}_CFLAGS"}});
>> push(@defines,
>> @{$compile_options{"${sourcefile}_DEFINES"}});
>> --
>> 2.4.2.windows.1.5.gd32afb6
>-- -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups "Git for Windows" group. To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.