From 9dcf7e679c441b877b63ff8e6dfc3865af6c6720 Mon Sep 17 00:00:00 2001 From: Mauro Condarelli 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 --- config.mak.uname | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/config.mak.uname +++ b/config.mak.uname @@ -4,12 +4,12 @@ # 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_P := $(shell sh -c 'uname -p 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_P ?= $(shell sh -c 'uname -p 2>/dev/null || echo not') +uname_V ?= $(shell sh -c 'uname -v 2>/dev/null || echo not') ifdef MSVC # avoid the MingW and Cygwin configuration sections