mirror of
https://github.com/git/git.git
synced 2026-01-19 07:04:49 +00:00
msvc: update Makefile and compiler settings for VS2015
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
This commit is contained in:
committed by
Johannes Schindelin
parent
9d4b2e77fc
commit
ec45bfe5fa
2
Makefile
2
Makefile
@@ -1179,7 +1179,7 @@ endif
|
||||
|
||||
ifdef SANE_TOOL_PATH
|
||||
SANE_TOOL_PATH_SQ = $(subst ','\'',$(SANE_TOOL_PATH))
|
||||
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix $(SANE_TOOL_PATH_SQ)|'
|
||||
BROKEN_PATH_FIX = 's|^\# @@BROKEN_PATH_FIX@@$$|git_broken_path_fix "$(SANE_TOOL_PATH_SQ)"|'
|
||||
PATH := $(SANE_TOOL_PATH):${PATH}
|
||||
else
|
||||
BROKEN_PATH_FIX = '/^\# @@BROKEN_PATH_FIX@@$$/d'
|
||||
|
||||
@@ -339,6 +339,13 @@ endif
|
||||
ifeq ($(uname_S),Windows)
|
||||
GIT_VERSION := $(GIT_VERSION).MSVC
|
||||
pathsep = ;
|
||||
# Prepend MSVC 64-bit tool-chain to PATH.
|
||||
#
|
||||
# A regular Git Bash *does not* have cl.exe in its $PATH. As there is a
|
||||
# link.exe next to, and required by, cl.exe, we have to prepend this
|
||||
# onto the existing $PATH.
|
||||
#
|
||||
SANE_TOOL_PATH ?= /c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64
|
||||
HAVE_ALLOCA_H = YesPlease
|
||||
NO_PREAD = YesPlease
|
||||
NEEDS_CRYPTO_WITH_SSL = YesPlease
|
||||
@@ -355,7 +362,13 @@ ifeq ($(uname_S),Windows)
|
||||
NO_ICONV = YesPlease
|
||||
NO_STRTOUMAX = YesPlease
|
||||
NO_MKDTEMP = YesPlease
|
||||
SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
# VS2015 with UCRT claims that snprintf and friends are C99 compliant,
|
||||
# so we don't need this.
|
||||
#
|
||||
# TODO If we want to support older compilers, we need to make this
|
||||
# TODO conditional on the compiler version.
|
||||
#
|
||||
# SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
NO_SVN_TESTS = YesPlease
|
||||
RUNTIME_PREFIX = YesPlease
|
||||
HAVE_WPGMPTR = YesWeDo
|
||||
@@ -379,22 +392,46 @@ ifeq ($(uname_S),Windows)
|
||||
CC = compat/vcbuild/scripts/clink.pl
|
||||
AR = compat/vcbuild/scripts/lib.pl
|
||||
CFLAGS =
|
||||
BASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
|
||||
BASIC_CFLAGS = -nologo -I. -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
|
||||
COMPAT_OBJS = compat/msvc.o compat/winansi.o \
|
||||
compat/win32/pthread.o compat/win32/syslog.o \
|
||||
compat/win32/dirent.o compat/win32/fscache.o
|
||||
COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
|
||||
COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DDETECT_MSYS_TTY -DNOGDI -DHAVE_STRING_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
|
||||
BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE
|
||||
EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib invalidcontinue.obj
|
||||
EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib invalidcontinue.obj kernel32.lib ntdll.lib
|
||||
PTHREAD_LIBS =
|
||||
lib =
|
||||
# Path to the unpacked third-party libraries
|
||||
MSVC_DEPS = compat/vcbuild/GEN.DEPS
|
||||
# Compensate for lack of %VCINSTALLDIR%, %LIB%, %LIBPATH%, and etc.
|
||||
# since vcvars*.bat did not get a chance to setup the environment of
|
||||
# the user's shell window.
|
||||
#
|
||||
# TODO If we ask the user to launch a "x64 Native" command prompt
|
||||
# TODO and then have it start a git-bash window, these could be
|
||||
# TODO inherited. So we wouldn't need to add these lines here.
|
||||
#
|
||||
MSVC_SDK81 = "c:/Program Files (x86)/Windows Kits/8.1"
|
||||
MSVC_SDK10 = "c:/Program Files (x86)/Windows Kits/10"
|
||||
MSVC_VCDIR = "c:/Program Files (x86)/Microsoft Visual Studio 14.0/VC"
|
||||
BASIC_CFLAGS += \
|
||||
-I$(MSVC_DEPS)/include -I$(MSVC_DEPS)/include/expat -I$(MSVC_DEPS)/include/zlib \
|
||||
-L$(MSVC_DEPS)/lib \
|
||||
-I$(MSVC_SDK81)/Include/um -I$(MSVC_SDK81)/Include/shared \
|
||||
-L$(MSVC_SDK81)/lib/winv6.3/um/x64 \
|
||||
-I$(MSVC_SDK10)/Include/10.0.10240.0/ucrt \
|
||||
-L$(MSVC_SDK10)/lib/10.0.10240.0/ucrt/x64 \
|
||||
-I$(MSVC_VCDIR)/INCLUDE \
|
||||
-L$(MSVC_VCDIR)/lib/amd64
|
||||
# Optionally enable memory leak reporting.
|
||||
# BASIC_CLFAGS += -DUSE_MSVC_CRTDBG
|
||||
BASIC_CFLAGS += -DPROTECT_NTFS_DEFAULT=1
|
||||
ifndef DEBUG
|
||||
BASIC_CFLAGS += -GL -Os -MD
|
||||
BASIC_LDFLAGS += -LTCG
|
||||
AR += -LTCG
|
||||
else
|
||||
BASIC_CFLAGS += -Zi -MDd
|
||||
BASIC_CFLAGS += -Zi -MDd -DDEBUG -D_DEBUG
|
||||
endif
|
||||
X = .exe
|
||||
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
#ifndef GIT_COMPAT_UTIL_H
|
||||
#define GIT_COMPAT_UTIL_H
|
||||
|
||||
#ifdef USE_MSVC_CRTDBG
|
||||
/*
|
||||
* For these to work they must appear very early in each
|
||||
* file -- before most of the standard header files.
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user