diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules index 1ba3f843e87cf3..26e80df5e47314 100644 --- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -46,6 +46,31 @@ LLDB_BASE_DIR := $(THIS_FILE_DIR)/../../../../../ # according to variable values). .DEFAULT_GOAL := all +#---------------------------------------------------------------------- +# If OS is not defined, use 'uname -s' to determine the OS name. +# +# GNUWin32 uname gives "windows32" or "server version windows32" while +# some versions of MSYS uname return "MSYS_NT*", but most environments +# standardize on "Windows_NT", so we'll make it consistent here. +# When running tests from Visual Studio, the environment variable isn't +# inherited all the way down to the process spawned for make. +#---------------------------------------------------------------------- +ifeq "$(HOST_OS)" "" + HOST_OS := $(shell uname -s) +endif + +ifneq (,$(findstring windows32,$(HOST_OS))) + HOST_OS := Windows_NT +endif + +ifneq (,$(findstring MSYS_NT,$(HOST_OS))) + HOST_OS := Windows_NT +endif + +ifeq "$(OS)" "" + OS := $(HOST_OS) +endif + #---------------------------------------------------------------------- # If OS is Windows, force SHELL to be cmd # @@ -596,7 +621,6 @@ ifeq "$(MAKE_DWP)" "YES" endif endif - #---------------------------------------------------------------------- # Make the dylib #----------------------------------------------------------------------