about summary refs log tree commit diff
path: root/third_party/git/compat/vcbuild/scripts/lib.pl
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/compat/vcbuild/scripts/lib.pl')
-rwxr-xr-xthird_party/git/compat/vcbuild/scripts/lib.pl26
1 files changed, 26 insertions, 0 deletions
diff --git a/third_party/git/compat/vcbuild/scripts/lib.pl b/third_party/git/compat/vcbuild/scripts/lib.pl
new file mode 100755
index 000000000000..d8054e469fe8
--- /dev/null
+++ b/third_party/git/compat/vcbuild/scripts/lib.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+######################################################################
+# Libifies files on Windows
+#
+# This is a wrapper to facilitate the compilation of Git with MSVC
+# using GNU Make as the build system. So, instead of manipulating the
+# Makefile into something nasty, just to support non-space arguments
+# etc, we use this wrapper to fix the command line options
+#
+# Copyright (C) 2009 Marius Storm-Olsen <mstormo@gmail.com>
+######################################################################
+use strict;
+my @args = ();
+while (@ARGV) {
+	my $arg = shift @ARGV;
+	if ("$arg" eq "rcs") {
+		# Consume the rcs option
+	} elsif ("$arg" =~ /\.a$/) {
+		push(@args, "-OUT:$arg");
+	} else {
+		push(@args, $arg);
+	}
+}
+unshift(@args, "lib.exe");
+# printf("**** @args\n");
+exit (system(@args) != 0);