Subject: Re: [PATCH] MSVC: link dynamically to the CRT

From: Junio C Hamano <[email-masked]>
Date: Wed, 30 Apr 2014 11:36:37 -0700

Stepan Kasal <[email-masked]> writes:

> From: Karsten Blees <[email-masked]>
> Date: Fri, 7 Jan 2011 17:20:21 +0100
>
> Dynamic linking is generally preferred over static linking, and MSVCRT.dll
> has been integral part of Windows for a long time.
>
> This also fixes linker warnings for _malloc and _free in zlib.lib, which
> seems to be compiled for MSVCRT.dll already.
>
> The DLL version also exports some of the CRT initialization functions,
> which are hidden in the static libcmt.lib (e.g. __wgetmainargs, required by
> subsequent Unicode patches).
>
> Signed-off-by: Karsten Blees <[email-masked]>
> Signed-off-by: Stepan Kasal <[email-masked]>
> ---
>
> Another patch from msysgit.
> Cheers,
>   Stepan

Thanks.

I am not intimate with the msysgit developer community, and I do not
know if it is appropriate for me to respond with a

	Does this look OK with msysgit folks?

cc'ed to the usual suspects (Erik Faye-Lund, Dscho and J6t).  Just
like I do not have to ask "does this look ok?" question when seeing
a patch from Erik or J6t, is it unnecessary for me to do so for a
patch from you?

>  config.mak.uname | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index efaed94..eebc847 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -365,16 +365,16 @@ ifeq ($(uname_S),Windows)
>  		compat/win32/pthread.o compat/win32/syslog.o \
>  		compat/win32/dirent.o
>  	COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
> -	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
> +	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE
>  	EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib
>  	PTHREAD_LIBS =
>  	lib =
>  ifndef DEBUG
> -	BASIC_CFLAGS += -GL -Os -MT
> +	BASIC_CFLAGS += -GL -Os -MD
>  	BASIC_LDFLAGS += -LTCG
>  	AR += -LTCG
>  else
> -	BASIC_CFLAGS += -Zi -MTd
> +	BASIC_CFLAGS += -Zi -MDd
>  endif
>  	X = .exe
>  endif