summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorPhilip Oakley <philipoakley@iee.org>2019-07-29 13:08:07 -0700
committerJunio C Hamano <gitster@pobox.com>2019-07-29 14:51:42 -0700
commita530a59a6f6298622460805e28dfb2b49dd1cf11 (patch)
tree6bc8c585a167bdad1e86fddf0dbf8103637b90e7 /contrib
parent03aa7118c3a11e96ba04c839e7378cc321ed2fbf (diff)
downloadgit-a530a59a6f6298622460805e28dfb2b49dd1cf11.tar.gz
contrib/buildsystems: optionally capture the dry-run in a file
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/buildsystems/engine.pl10
1 files changed, 10 insertions, 0 deletions
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 @@ generate usage:
-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 @@ EOM
}
# 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 @@ while (@ARGV) {
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 @@ my $ErrsFile = "msvc-build-makedryerrors.txt";
# 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();