From 86c9c9e63900ce0344cb9a4eb34d4e296de843e4 Mon Sep 17 00:00:00 2001 From: Sven Weidauer Date: Sun, 23 Jan 2011 12:04:06 +0000 Subject: Detecting apple clang and building universal binaries with clang and gcc on Mac OS X. svn path=/trunk/tools/buildsystem/; revision=11461 --- makefiles/Makefile.clang | 15 +++++++++++++++ makefiles/Makefile.gcc | 17 +++++++++++++++++ makefiles/Makefile.tools | 6 ++++++ 3 files changed, 38 insertions(+) (limited to 'makefiles') diff --git a/makefiles/Makefile.clang b/makefiles/Makefile.clang index 1105043..591a325 100644 --- a/makefiles/Makefile.clang +++ b/makefiles/Makefile.clang @@ -25,6 +25,21 @@ LDSHR = -shared -Wl,-soname,$(SONAME) ARFLG := cru +############################################################################### +# Mac OS X Universal Binaries +############################################################################### + +ifeq ($(TARGET),Darwin) + ifneq ($(UNIVERSAL),) + UNIVERSAL_FLAGS := $(foreach arch,$(UNIVERSAL),-arch $(arch) ) + + CFLAGS += $(UNIVERSAL_FLAGS) + LDFLAGS += $(UNIVERSAL_FLAGS) + CXXFLAGS += $(UNIVERSAL_FLAGS) + ARFLAGS += -s + endif +endif + ############################################################################### # Other settings ############################################################################### diff --git a/makefiles/Makefile.gcc b/makefiles/Makefile.gcc index 3115889..7d11b24 100644 --- a/makefiles/Makefile.gcc +++ b/makefiles/Makefile.gcc @@ -57,6 +57,23 @@ ifeq ($(COMPONENT_TYPE),riscos-module) LDFLAGS := $(LDFLAGS) -mmodule endif +############################################################################### +# Mac OS X Universal Binaries +############################################################################### + +ifeq ($(TARGET),Darwin) + ifneq ($(UNIVERSAL),) + UNIVERSAL_FLAGS := $(foreach arch,$(UNIVERSAL),-arch $(arch) ) + CC_CAN_BUILD_AND_DEP := no + CC_CANNOT_DEP := yes + + CFLAGS += $(UNIVERSAL_FLAGS) + LDFLAGS += $(UNIVERSAL_FLAGS) + CXXFLAGS += $(UNIVERSAL_FLAGS) + ARFLAGS += -s + endif +endif + ############################################################################### # Other settings ############################################################################### diff --git a/makefiles/Makefile.tools b/makefiles/Makefile.tools index a5148a2..6ac78a5 100644 --- a/makefiles/Makefile.tools +++ b/makefiles/Makefile.tools @@ -372,6 +372,12 @@ else ifeq ($(word 1,$(ccvsn)),clang) toolchain := clang endif + ifeq ($(word 1,$(ccvsn)),Apple) + ifeq ($(word 2,$(ccvsn)),clang) + # Apple clang + toolchain := clang + endif + endif endif ifeq ($(toolchain),) -- cgit v1.2.3