git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
ec95a3b2d035293d8058d91061d4852d9a45097d blob 4969 bytes (raw)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
#!/usr/bin/perl -w
######################################################################
# Compiles or links files
#
# 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 = ();
my @cflags = ();
my @lflags = ();
my $is_linking = 0;
my $is_debug = 0;
while (@ARGV) {
	my $arg = shift @ARGV;
	if ("$arg" eq "-DDEBUG") {
	    # Some vcpkg-based libraries have different names for release
	    # and debug versions.  This hack assumes that -DDEBUG comes
	    # before any "-l*" flags.
	    $is_debug = 1;
	}
	if ("$arg" =~ /^-[DIMGOZ]/) {
		push(@cflags, $arg);
	} elsif ("$arg" eq "-o") {
		my $file_out = shift @ARGV;
		if ("$file_out" =~ /exe$/) {
			$is_linking = 1;
			# Create foo.exe and foo.pdb
			push(@args, "-OUT:$file_out");
		} else {
			# Create foo.o and foo.o.pdb
			push(@args, "-Fo$file_out");
			push(@args, "-Fd$file_out.pdb");
		}
	} elsif ("$arg" eq "-lz") {
	    if ($is_debug) {
		push(@args, "zlibd.lib");
	    } else{
		push(@args, "zlib.lib");
	    }
	} elsif ("$arg" eq "-liconv") {
		push(@args, "libiconv.lib");
	} elsif ("$arg" eq "-lcrypto") {
		push(@args, "libeay32.lib");
	} elsif ("$arg" eq "-lssl") {
		push(@args, "ssleay32.lib");
	} elsif ("$arg" eq "-lcurl") {
		my $lib = "";
		# Newer vcpkg definitions call this libcurl_imp.lib; Do we
		# need to use that instead?
		foreach my $flag (@lflags) {
			if ($flag =~ /^-LIBPATH:(.*)/) {
				foreach my $l ("libcurl_imp.lib", "libcurl.lib") {
					if (-f "$1/$l") {
						$lib = $l;
						last;
					}
				}
			}
		}
		push(@args, $lib);
	} elsif ("$arg" eq "-lexpat") {
		push(@args, "expat.lib");
	} elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") {
		$arg =~ s/^-L/-LIBPATH:/;
		push(@lflags, $arg);
	} elsif ("$arg" =~ /^-[Rl]/) {
		# eat
	} elsif ("$arg" eq "-Werror") {
		push(@cflags, "-WX");
	} elsif ("$arg" eq "-Wall") {
		# cl.exe understands -Wall, but it is really overzealous
		push(@cflags, "-W4");
		# disable the "signed/unsigned mismatch" warnings; our source code violates that
		push(@cflags, "-wd4018");
		push(@cflags, "-wd4245");
		push(@cflags, "-wd4389");
		# disable the "unreferenced formal parameter" warning; our source code violates that
		push(@cflags, "-wd4100");
		# disable the "conditional expression is constant" warning; our source code violates that
		push(@cflags, "-wd4127");
		# disable the "const object should be initialized" warning; these warnings affect only objects that are `static`
		push(@cflags, "-wd4132");
		# disable the "function/data pointer conversion in expression" warning; our source code violates that
		push(@cflags, "-wd4152");
		# disable the "non-constant aggregate initializer" warning; our source code violates that
		push(@cflags, "-wd4204");
		# disable the "cannot be initialized using address of automatic variable" warning; our source code violates that
		push(@cflags, "-wd4221");
		# disable the "possible loss of data" warnings; our source code violates that
		push(@cflags, "-wd4244");
		push(@cflags, "-wd4267");
		# disable the "array is too small to include a terminating null character" warning; we ab-use strings to initialize OIDs
		push(@cflags, "-wd4295");
		# disable the "'<<': result of 32-bit shift implicitly converted to 64 bits" warning; our source code violates that
		push(@cflags, "-wd4334");
		# disable the "declaration hides previous local declaration" warning; our source code violates that
		push(@cflags, "-wd4456");
		# disable the "declaration hides function parameter" warning; our source code violates that
		push(@cflags, "-wd4457");
		# disable the "declaration hides global declaration" warning; our source code violates that
		push(@cflags, "-wd4459");
		# disable the "potentially uninitialized local variable '<name>' used" warning; our source code violates that
		push(@cflags, "-wd4701");
		# disable the "unreachable code" warning; our source code violates that
		push(@cflags, "-wd4702");
		# disable the "potentially uninitialized local pointer variable used" warning; our source code violates that
		push(@cflags, "-wd4703");
		# disable the "assignment within conditional expression" warning; our source code violates that
		push(@cflags, "-wd4706");
		# disable the "'inet_ntoa': Use inet_ntop() or InetNtop() instead" warning; our source code violates that
		push(@cflags, "-wd4996");
	} elsif ("$arg" =~ /^-W[a-z]/) {
		# let's ignore those
	} else {
		push(@args, $arg);
	}
}
if ($is_linking) {
	push(@args, @lflags);
	unshift(@args, "link.exe");
} else {
	unshift(@args, "cl.exe");
	push(@args, @cflags);
}
printf(STDERR "**** @args\n\n\n") if (!defined($ENV{'QUIET_GEN'}));
exit (system(@args) != 0);
debug log:

solving ec95a3b2d0 ...
found ec95a3b2d0 in git.git.git

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.version-control.git
	nntp://ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd.onion/inbox.comp.version-control.git
	nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git