From 9dcf7e679c441b877b63ff8e6dfc3865af6c6720 Mon Sep 17 00:00:00 2001
From: Mauro Condarelli <mc5686 at mclink.it>
Date: Sun, 22 May 2016 20:44:26 +0200
Subject: [PATCH 1/1] Fix config.mak.uname to allow cross-compilation

Current implementation imperatively sets variables from "uname" output.
This breaks cross-compilation because uname is run on host while target
configuration may be different.

Make current behavior a non-imperative default, so it's possible to
force different values setting make variables.

To cross-compile it will be necessary to explicitly set the various
uname_X variables to values compatible with target.
No change is needed with normal host compilation.
Patch is trivial.

Signed-off-by: Mauro Condarelli <mc5686 at mclink.it>
---
 config.mak.uname | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- a/config.mak.uname
+++ b/config.mak.uname
@@ -4,11 +4,11 @@
 # Microsoft's Safe Exception Handling in libraries (such as zlib).
 # Typically required for VS2013+/32-bit compilation on Vista+ versions.
 
-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
-uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
-uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
-uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
-uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
+uname_S ?= $(shell sh -c 'uname -s 2>/dev/null || echo not')
+uname_M ?= $(shell sh -c 'uname -m 2>/dev/null || echo not')
+uname_O ?= $(shell sh -c 'uname -o 2>/dev/null || echo not')
+uname_R ?= $(shell sh -c 'uname -r 2>/dev/null || echo not')
+uname_V ?= $(shell sh -c 'uname -v 2>/dev/null || echo not')
 
 ifneq ($(findstring MINGW,$(uname_S)),)
 	uname_S := MINGW
