# [PATCH] Fix MSVC build on cygwin

5 messages from 2009-10-08 to 2009-10-09. Participants: Ramsay Jones, Johannes Schindelin, Sverre Rabbelier, Junio C Hamano.
Thread: https://gitlist.dev/t/21159

## Ramsay Jones, 2009-10-08 15:21

Subject: [PATCH] Fix MSVC build on cygwin
Message-ID: <4ACE0388.6070706@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/4ACE0388.6070706%40ramsay1.demon.co.uk

```

In the MSVC section of the Makefile, BASIC_CFLAGS is set to a
value which contains the string "-DWIN32-D_CONSOLE". This results
in a (single) malformed -Define being passed to the compiler.
At least on my cygwin installation, the msvc compiler seems to
ignore this parameter, without issuing an error or warning, and
results in the WIN32 and _CONSOLE macros being undefined. This
breaks the build.

In order to fix the build, we simply insert a space between the
two -Define parameters, "-DWIN32" and "-D_CONSOLE", as originally
intended.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---

Hi *,

The original version of this patch used line-continuation to
wrap the over-long lines in the MSVC section. (the lines that
set up BASIC_CFLAGS, COMPAT_CFLAGS and BASIC_LDFLAGS.)
However, that somewhat obscured the important change in this
patch (and some people don't find line-continuation easier to
read anyway ;-).

ATB,
Ramsay Jones

 Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Makefile b/Makefile
index 12defd4..ae9bb03 100644
--- a/Makefile
+++ b/Makefile
@@ -914,7 +914,7 @@ ifdef MSVC
 	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. -I../zlib -Icompat/vcbuild -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/fnmatch/fnmatch.o compat/winansi.o
 	COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -DSTRIP_EXTENSION=\".exe\"
 	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
-- 
1.6.4

```

## Johannes Schindelin, 2009-10-08 18:40

Subject: Re: [PATCH] Fix MSVC build on cygwin
Message-ID: <alpine.DEB.1.00.0910082040110.4985@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0910082040110.4985%40pacific.mpi-cbg.de
In-Reply-To: <4ACE0388.6070706@ramsay1.demon.co.uk>

```
Hi,

On Thu, 8 Oct 2009, Ramsay Jones wrote:

> Hi *,

I thought we only used shell patterns for filenames, and regexes for 
everything else?

Ciao,
Dscho

```

## Sverre Rabbelier, 2009-10-08 18:50

Subject: Re: [PATCH] Fix MSVC build on cygwin
Message-ID: <fabb9a1e0910081150s72d3b167k841175856c1f2b6f@mail.gmail.com>
URL: https://gitlist.dev/e/fabb9a1e0910081150s72d3b167k841175856c1f2b6f%40mail.gmail.com
In-Reply-To: <alpine.DEB.1.00.0910082040110.4985@pacific.mpi-cbg.de>

```
Heya,

On Thu, Oct 8, 2009 at 20:40, Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> I thought we only used shell patterns for filenames, and regexes for
> everything else?

Maybe he's enacting a long silence after his Hi? "Hi                       "?

-- 
Cheers,

Sverre Rabbelier

```

## Junio C Hamano, 2009-10-09 06:48

Subject: Re: [PATCH] Fix MSVC build on cygwin
Message-ID: <7v3a5t6p1f.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v3a5t6p1f.fsf%40alter.siamese.dyndns.org
In-Reply-To: <4ACE0388.6070706@ramsay1.demon.co.uk>

```
Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:

> In the MSVC section of the Makefile, BASIC_CFLAGS is set to a
> value which contains the string "-DWIN32-D_CONSOLE". This results
> in a (single) malformed -Define being passed to the compiler.
> At least on my cygwin installation, the msvc compiler seems to
> ignore this parameter, without issuing an error or warning, and
> results in the WIN32 and _CONSOLE macros being undefined. This
> breaks the build.
>
> In order to fix the build, we simply insert a space between the
> two -Define parameters, "-DWIN32" and "-D_CONSOLE", as originally
> intended.
>
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>

Thanks; that's quite a detailed description to explain why -DFOO-DBAR is
bad when -DFOO -DBAR was wanted ;-)

```

## Ramsay Jones, 2009-10-09 21:53

Subject: Re: [PATCH] Fix MSVC build on cygwin
Message-ID: <4ACFB0C5.1040105@ramsay1.demon.co.uk>
URL: https://gitlist.dev/e/4ACFB0C5.1040105%40ramsay1.demon.co.uk
In-Reply-To: <7v3a5t6p1f.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano wrote:
> Thanks; that's quite a detailed description to explain why -DFOO-DBAR is
> bad when -DFOO -DBAR was wanted ;-)

Heh, yeah I usually have the opposite problem; often I can't spare any
words past the one-line summary...

I suspect the unusual verbosity won't last... ;-)

ATB,
Ramsay Jones

```
