From 3a3fb1dc9d8cf4a0d1d909fbbe2553d0db4e0468 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Thu, 26 Mar 2015 19:07:46 +0100 Subject: [PATCH] fix for later OSX (nw) --- makefile | 24 ++++++++++++++++++++++-- scripts/toolchain.lua | 11 ++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/makefile b/makefile index 06934fe6726..83d5a8004cb 100644 --- a/makefile +++ b/makefile @@ -302,12 +302,20 @@ ifeq ($(OS),windows) GCC_VERSION:=$(shell gcc -dumpversion 2> NUL) CLANG_VERSION:=$(shell %CLANG%\bin\clang --version 2> NUL| head -n 1 | sed "s/[^0-9,.]//g") PYTHON_AVAILABLE:=$(shell python --version > NUL 2>&1 && echo python) +CHECK_CLANG:= else GCC_VERSION:=$(shell gcc -dumpversion 2> /dev/null) -CLANG_VERSION:=$(shell clang --version 2> /dev/null | grep '[0-9]\.[0-9]' -o | head -n 1) +CLANG_VERSION:=$(shell clang --version 2> /dev/null | grep 'LLVM [0-9]\.[0-9]' -o | grep '[0-9]\.[0-9]' -o | head -n 1) PYTHON_AVAILABLE:=$(shell python --version > /dev/null 2>&1 && echo python) +CHECK_CLANG:=$(shell gcc --version 2> /dev/null | grep 'clang' | head -n 1) +endif +ifneq ($(CHECK_CLANG),) +ifeq ($(ARCHITECTURE),x64) +ARCHITECTURE=x64_clang +else +ARCHITECTURE=x86_clang +endif endif - ifneq ($(PYTHON_AVAILABLE),python) $(error Python is not available in path) endif @@ -495,6 +503,18 @@ ifndef COMPILE endif $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-osx config=$(CONFIG)32 +macosx_x64_clang: generate +ifndef COMPILE + $(SILENT) $(GENIE) $(PARAMS) --gcc=osx-clang --targetos=macosx --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake +endif + $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-osx-clang config=$(CONFIG)64 + +macosx_x86_clang: generate +ifndef COMPILE + $(SILENT) $(GENIE) $(PARAMS) --gcc=osx-clang --targetos=macosx --os_version=$(DARWIN_VERSION) --osd=$(OSD) --gcc_version=$(GCC_VERSION) --target=$(TARGET) --subtarget=$(SUBTARGET) gmake +endif + $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/gmake-osx-clang config=$(CONFIG)32 + $(GENIE): $(SILENT) $(MAKE) --no-print-directory -R -C 3rdparty/genie/build/gmake.$(OS) -f genie.make diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua index 4ed7aade12b..7d21ebee792 100644 --- a/scripts/toolchain.lua +++ b/scripts/toolchain.lua @@ -24,7 +24,8 @@ newoption { { "mingw-clang", "MinGW (clang compiler)" }, { "nacl", "Native Client" }, { "nacl-arm", "Native Client - ARM" }, - { "osx", "OSX" }, + { "osx", "OSX (GCC compiler)" }, + { "osx-clang", "OSX (Clang compiler)" }, { "pnacl", "Native Client - PNaCl" }, { "qnx-arm", "QNX/Blackberry - ARM" }, { "rpi", "RaspberryPi" }, @@ -257,6 +258,10 @@ function toolchain(_buildDir) location (_buildDir .. "projects/" .. _ACTION .. "-osx") end + if "osx-clang" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _ACTION .. "-osx-clang") + end + if "pnacl" == _OPTIONS["gcc"] then if not os.getenv("NACL_SDK_ROOT") then @@ -631,14 +636,14 @@ function toolchain(_buildDir) configuration { "pnacl", "Release" } libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" } - configuration { "osx", "x32" } + configuration { "osx*", "x32" } targetdir (_buildDir .. "osx32_clang" .. "/bin") objdir (_buildDir .. "osx32_clang" .. "/obj") buildoptions { "-m32", } - configuration { "osx", "x64" } + configuration { "osx*", "x64" } targetdir (_buildDir .. "osx64_clang" .. "/bin") objdir (_buildDir .. "osx64_clang" .. "/obj") buildoptions {