git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC 3/4] engine.pl: split the .o and .obj processing

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 21, 2014, 09:48 UTC
Message-ID
<alpine.DEB.1.00.1411211043050.13845@s15462909.onlinehome-server.info>
In-Reply-To
<1416526682-6024-4-git-send-email-philipoakley@iee.org>
Hi Philip,
On Thu, 20 Nov 2014, Philip Oakley wrote:
Show 5 quoted lines
> Commit 4b623d80f7352 added an .obj file (invalidcontinue.obj) which was not
> processed correctly.
> 
> The generate engine then mistakenly did a s/.o/.c/  to create a request
> to compile invalidcontinue.cbj.
This is good. However, this:
Show 7 quoted lines
> Split the '/\.(o|obj)$' in engine.pl#L353 into:
> 
>         } elsif ($part =~ /\.o$/) { # was '/\.(o|obj)$'
>             push(@objfiles, $part);
>         } elsif ($part =~ /\.obj$/) { # was '/\.(o|obj)$'
>             # push(@objfiles, $part); # do nothing
>         } else {

just repeats what the diff says, so it is unnecessary in the commit message.

Show 12 quoted lines
> diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl
> index 8e41808..16c3dd5 100755
> --- a/contrib/buildsystems/engine.pl
> +++ b/contrib/buildsystems/engine.pl
> @@ -264,7 +264,9 @@ sub handleCompileLine
>          } elsif ($part =~ /\.(c|cc|cpp)$/) {
>              $sourcefile = $part;
>          } else {
> -            die "Unhandled compiler option @ line $lineno: $part";
> +            print "full line: $line\n";
> +            print "A:-Unhandled compiler option @ line $lineno: $part\n"; # die (if !DEBUG)
> +#            die "Unhandled compiler option @ line $lineno: $part";

This needs to be backed out. I agree that it is nice to get going and to debug, so I would split it out into its own commit while working on the branch, but then drop it before submitting.

Show 6 quoted lines
> @@ -290,14 +292,15 @@ sub handleLibLine
>[...]
>      foreach (@objfiles) {
>          my $sourcefile = $_;
> -        $sourcefile =~ s/\.o/.c/;
> +        $sourcefile =~ s/\.o$/.c/;

Ah, I see from the context that my earlier comment about the white-space delimiter was wrong: at this stage, we already have split the list. So this is groovy.

Show 9 quoted lines
> @@ -343,8 +346,10 @@ sub handleLinkLine
>          } elsif ($part =~ /\.(a|lib)$/) {
>              $part =~ s/\.a$/.lib/;
>              push(@libs, $part);
> -        } elsif ($part =~ /\.(o|obj)$/) {
> +        } elsif ($part =~ /\.o$/) { # was '/\.(o|obj)$'
>              push(@objfiles, $part);
> +        } elsif ($part =~ /\.obj$/) { # was '/\.(o|obj)$'
> +            # push(@objfiles, $part); # do nothing
How about the following instead?
+		} elsif ($part eq 'invalidcontinue.obj') {
+			# ignore
 		} elsif ($part =~ /\.(o|obj)$/) {

? After all, this change is really only about handling the newly introduced invalidcontinue.obj correctly.

Ciao, Johannes

Previous: Philip OakleyNext: Philip Oakley
Message 11 of 19 in “[RFC 0/4] Fix the Visual Studio 2008 .sln generator”
  1. Philip OakleyNov 20, 2014
  2. 1/4 Fix i18n -o option in msvc engine.plPhilip Oakley, Nov 20, 2014
  3. Johannes SchindelinNov 21, 2014
  4. Philip OakleyNov 21, 2014
  5. 2/4 Properly accept quoted space in filenamesPhilip Oakley, Nov 20, 2014
  6. Johannes SchindelinNov 21, 2014
  7. Junio C HamanoNov 21, 2014
  8. Philip OakleyNov 21, 2014
  9. Junio C HamanoNov 21, 2014
  10. 3/4 engine.pl: split the .o and .obj processingPhilip Oakley, Nov 20, 2014
  11. Johannes SchindelinNov 21, 2014
  12. Philip OakleyNov 21, 2014
  13. Johannes SchindelinNov 23, 2014
  14. Philip OakleyNov 23, 2014
  15. 4/4 Improve layout and reference msvc-build scriptPhilip Oakley, Nov 20, 2014
  16. Johannes SchindelinNov 21, 2014
  17. Philip OakleyNov 21, 2014
  18. Johannes SchindelinNov 21, 2014
  19. Philip OakleyNov 21, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.