OSDN Git Service

Don't try to build the emulator on Mac OS if the right tools aren't installed.
authorJoe Onorato <joeo@google.com>
Wed, 25 Jul 2012 21:28:05 +0000 (14:28 -0700)
committerJoe Onorato <joeo@google.com>
Wed, 25 Jul 2012 22:01:22 +0000 (15:01 -0700)
Change-Id: I3cd2f82f9ee64174bddbb12a18ca8fcf23bdcebd

core/main.mk

index 08efbda..2083887 100644 (file)
@@ -162,10 +162,32 @@ GCC_REALPATH = $(realpath $(shell which gcc))
 ifneq ($(findstring llvm-gcc,$(GCC_REALPATH)),)
   # Using LLVM GCC results in a non functional emulator due to it
   # not honouring global register variables
-  $(warning ****************************************)
-  $(warning * gcc is linked to llvm-gcc which will *)
-  $(warning * not create a useable emulator.       *)
-  $(warning ****************************************)
+  ifneq ($(strip $(BUILD_EMULATOR)),)
+    $(warning ****************************************)
+    $(warning * gcc is linked to llvm-gcc which will *)
+    $(warning * not create a useable emulator.       *)
+    $(warning ****************************************)
+  endif
+  BUILD_EMULATOR := false
+else
+  BUILD_EMULATOR := true
+endif
+# When building on Leopard or above, we need to use the 10.4 SDK
+# or the generated binary will not run on Tiger.
+darwin_version := $(strip $(shell sw_vers -productVersion))
+ifneq ($(filter 10.1 10.2 10.3 10.1.% 10.2.% 10.3.% 10.4 10.4.%,$(darwin_version)),)
+    $(error Building the Android emulator requires OS X 10.5 or above)
+endif
+ifneq ($(filter 10.5 10.5.% 10.6 10.6.%,$(darwin_version)),)
+    # We are on Leopard or Snow Leopard
+    MSDK=10.5
+else
+    # We are on Lion or beyond, and 10.6 SDK is the minimum in Xcode 4.x
+   MSDK=10.6
+endif
+MACOSX_SDK := /Developer/SDKs/MacOSX$(MSDK).sdk
+ifeq ($(strip $(wildcard $(MACOSX_SDK))),)
+  BUILD_EMULATOR := false
 endif
 endif