[PATCH v2 11/23] contrib/buildsystems: optionally capture the dry-run in a file
- From
Philip Oakley via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jul 29, 2019, 20:08 UTC
- Message-ID
- <eaf1dd449d541d7b8272c6f95af056a548b577ef.1564430879.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.287.v2.git.gitgitgadget@gmail.com>
From: Philip Oakley <philipoakley@iee.org>
Add an option for capturing the output of the make dry-run used in determining the msvc-build structure for easy debugging.
You can use the output of `--make-out <path>` in subsequent runs via the `--in <path>` option.
Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- contrib/buildsystems/engine.pl | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl index de5c0b6b25..732239d817 100755 --- a/contrib/buildsystems/engine.pl +++ b/contrib/buildsystems/engine.pl @@ -32,6 +32,7 @@ sub showUsage -g <GENERATOR> --gen <GENERATOR> Specify the buildsystem generator (default: $gen) Available: $genlist -o <PATH> --out <PATH> Specify output directory generation (default: .) + --make-out <PATH> Write the output of GNU Make into a file -i <FILE> --in <FILE> Specify input file, instead of running GNU Make -h,-? --help This help EOM @@ -39,6 +40,7 @@ sub showUsage } # Parse command-line options +my $make_out; while (@ARGV) { my $arg = shift @ARGV; if ("$arg" eq "-h" || "$arg" eq "--help" || "$arg" eq "-?") { @@ -46,6 +48,8 @@ sub showUsage exit(0); } elsif("$arg" eq "--out" || "$arg" eq "-o") { $out_dir = shift @ARGV; + } elsif("$arg" eq "--make-out") { + $make_out = shift @ARGV; } elsif("$arg" eq "--gen" || "$arg" eq "-g") { $gen = shift @ARGV; } elsif("$arg" eq "--in" || "$arg" eq "-i") { @@ -80,6 +84,12 @@ sub showUsage # test for an empty Errors file and remove it unlink $ErrsFile if -f -z $ErrsFile; +if (defined $make_out) { + open OUT, ">" . $make_out; + print OUT @makedry; + close OUT; +} + # Parse the make output into usable info parseMakeOutput();
-- gitgitgadget