From: "Eric Sunshine" <sunshine@xxxxxxxxxxxxxx> Sent: Monday, July 20,
2015 2:54 AM
On Sun, Jul 19, 2015 at 4:08 PM, Philip Oakley <philipoakley@xxxxxxx>
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...
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@xxxxxxx>
---
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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html