threads / patch / 21385

patch, 4 partsMakefile: keep MSVC and Cygwin configuration separate

Subject: [PATCH 3/4] Makefile: keep MSVC and Cygwin configuration separate

## tl;dr

3 messages between Oct 27, 2009 and Nov 4, 2009. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Ramsay Jones· Oct 27, 2009, 19:13 UTC · lore
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
---
 Makefile |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
Show changes to Makefile +10 −3
diff --git a/Makefile b/Makefile
index 8e1cfc5..12c8249 100644
--- a/Makefile
+++ b/Makefile
@@ -658,6 +658,14 @@ EXTLIBS =
 # Platform specific tweaks
 #
 
+ifdef MSVC
+	# When building with msvc, on MinGW or Cygwin, we
+	# override the uname settings to make it easier to
+	# keep the configuration sections separate
+	uname_S = Windows
+	uname_O = Windows
+endif
+
 # We choose to avoid "if .. else if .. else .. endif endif"
 # because maintaining the nesting to match is a pain.  If
 # we had "elif" things would have been much nicer...
@@ -893,7 +901,7 @@ ifeq ($(uname_S),HP-UX)
 	NO_SYS_SELECT_H = YesPlease
 	SNPRINTF_RETURNS_BOGUS = YesPlease
 endif
-ifdef MSVC
+ifeq ($(uname_S),Windows)
 	GIT_VERSION := $(GIT_VERSION).MSVC
 	pathsep = ;
 	NO_PREAD = YesPlease
@@ -945,7 +953,7 @@ else
 	BASIC_CFLAGS += -Zi -MTd
 endif
 	X = .exe
-else
+endif
 ifneq (,$(findstring MINGW,$(uname_S)))
 	pathsep = ;
 	NO_PREAD = YesPlease
@@ -994,7 +1002,6 @@ else
 	NO_PTHREADS = YesPlease
 endif
 endif
-endif
 
 -include config.mak.autogen
 -include config.mak
-- 
1.6.5
Johannes Sixt· Nov 3, 2009, 07:27 UTC · re: Ramsay Jones · lore

Re: [PATCH 3/4] Makefile: keep MSVC and Cygwin configuration separate

Ramsay Jones schrieb:
Show 50 quoted lines
> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
> ---
>  Makefile |   13 ++++++++++---
>  1 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 8e1cfc5..12c8249 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -658,6 +658,14 @@ EXTLIBS =
>  # Platform specific tweaks
>  #
>  
> +ifdef MSVC
> +	# When building with msvc, on MinGW or Cygwin, we
> +	# override the uname settings to make it easier to
> +	# keep the configuration sections separate
> +	uname_S = Windows
> +	uname_O = Windows
> +endif
> +
>  # We choose to avoid "if .. else if .. else .. endif endif"
>  # because maintaining the nesting to match is a pain.  If
>  # we had "elif" things would have been much nicer...
> @@ -893,7 +901,7 @@ ifeq ($(uname_S),HP-UX)
>  	NO_SYS_SELECT_H = YesPlease
>  	SNPRINTF_RETURNS_BOGUS = YesPlease
>  endif
> -ifdef MSVC
> +ifeq ($(uname_S),Windows)
>  	GIT_VERSION := $(GIT_VERSION).MSVC
>  	pathsep = ;
>  	NO_PREAD = YesPlease
> @@ -945,7 +953,7 @@ else
>  	BASIC_CFLAGS += -Zi -MTd
>  endif
>  	X = .exe
> -else
> +endif
>  ifneq (,$(findstring MINGW,$(uname_S)))
>  	pathsep = ;
>  	NO_PREAD = YesPlease
> @@ -994,7 +1002,6 @@ else
>  	NO_PTHREADS = YesPlease
>  endif
>  endif
> -endif
>  
>  -include config.mak.autogen
>  -include config.mak

I like the direction of this change, but I think that you must use ':=' assignment, and I would put this right after the uname_* assignments at the beginning of the Makefile:

 uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
+ifdef MSVC
+	uname_S := Windows
+	uname_O := Windows	# avoid cygwin configuration
+endif
-- Hannes
Ramsay Jones· Nov 4, 2009, 19:29 UTC · re: Johannes Sixt · lore

Re: [PATCH 3/4] Makefile: keep MSVC and Cygwin configuration separate

Johannes Sixt wrote:
> 
> I like the direction of this change, but I think that you must use ':='

Yeah, I've always been a bit sloppy with recursive assignment versus simple assignment when the value does not contain a variable reference ;-) So yes, you are right...

Show 8 quoted lines
> assignment, and I would put this right after the uname_* assignments at
> the beginning of the Makefile:
> 
>  uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
> +ifdef MSVC
> +	uname_S := Windows
> +	uname_O := Windows	# avoid cygwin configuration
> +endif
OK with me. (but you are avoiding the MinGW configuration as well...)

ATB, Ramsay Jones

← back to recent threads