Skip to content

Commit

Permalink
[Darwin/iphone] Add support for SDKs stored at theos/sdks/.
Browse files Browse the repository at this point in the history
TODO: The logic is a bit hacky. Also needs to be copied over to the other
Apple targets on Darwin.
  • Loading branch information
kirb committed Mar 4, 2017
1 parent 9cc11bf commit bcd16b4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
1 change: 1 addition & 0 deletions makefiles/common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ THEOS_INCLUDE_PATH := $(THEOS)/include
THEOS_VENDOR_INCLUDE_PATH := $(THEOS)/vendor/include
THEOS_FALLBACK_INCLUDE_PATH := $(THEOS)/include/_fallback
THEOS_MODULE_PATH := $(THEOS)/mod
THEOS_SDKS_PATH := $(THEOS)/sdks
export THEOS THEOS_BIN_PATH THEOS_MAKE_PATH THEOS_LIBRARY_PATH THEOS_VENDOR_LIBRARY_PATH THEOS_INCLUDE_PATH THEOS_VENDOR_INCLUDE_PATH THEOS_FALLBACK_INCLUDE_PATH
export THEOS_PROJECT_DIR

Expand Down
11 changes: 8 additions & 3 deletions makefiles/targets/Darwin/iphone.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ _SDKVERSION := $(or $(__THEOS_TARGET_ARG_$(word 1,$(_THEOS_TARGET_ARG_ORDER))),$
_THEOS_TARGET_SDK_VERSION := $(or $(_SDKVERSION),latest)
_THEOS_TARGET_INCLUDE_SDK_VERSION := $(or $(INCLUDE_SDKVERSION),$(INCLUDE_SDKVERSION_$(THEOS_CURRENT_ARCH)),same)

_SDK_DIR := $(THEOS_PLATFORM_SDK_ROOT)/Platforms/iPhoneOS.platform/Developer/SDKs
_IOS_SDKS := $(sort $(patsubst $(_SDK_DIR)/iPhoneOS%.sdk,%,$(wildcard $(_SDK_DIR)/iPhoneOS*.sdk)))
_XCODE_SDK_DIR := $(THEOS_PLATFORM_SDK_ROOT)/Platforms/iPhoneOS.platform/Developer/SDKs
_IOS_SDKS := $(sort $(patsubst $(_XCODE_SDK_DIR)/iPhoneOS%.sdk,%,$(wildcard $(_XCODE_SDK_DIR)/iPhoneOS*.sdk)) $(patsubst $(THEOS_SDKS_PATH)/iPhoneOS%.sdk,%,$(wildcard $(THEOS_SDKS_PATH)/iPhoneOS*.sdk)))

ifeq ($(words $(_IOS_SDKS)),0)
before-all::
@$(PRINT_FORMAT_ERROR) "You do not have an SDK in $(_SDK_DIR)." >&2; exit 1
@$(PRINT_FORMAT_ERROR) "You do not have an SDK in $(_XCODE_SDK_DIR) or $(THEOS_SDKS_PATH)." >&2; exit 1
endif
_LATEST_SDK := $(lastword $(_IOS_SDKS))

Expand Down Expand Up @@ -78,8 +78,13 @@ endif
endif

ifeq ($(SYSROOT),)
ifeq ($(shell [[ -d "$(THEOS_SDKS_PATH)/iPhoneOS$(_THEOS_TARGET_SDK_VERSION).sdk" ]] && echo 1),1)
SYSROOT ?= $(THEOS_SDKS_PATH)/iPhoneOS$(_THEOS_TARGET_SDK_VERSION).sdk
ISYSROOT ?= $(THEOS_SDKS_PATH)/iPhoneOS$(_THEOS_TARGET_INCLUDE_SDK_VERSION).sdk
else
SYSROOT ?= $(THEOS_PLATFORM_SDK_ROOT)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(_THEOS_TARGET_SDK_VERSION).sdk
ISYSROOT ?= $(THEOS_PLATFORM_SDK_ROOT)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(_THEOS_TARGET_INCLUDE_SDK_VERSION).sdk
endif
else
ISYSROOT ?= $(SYSROOT)
endif
Expand Down

0 comments on commit bcd16b4

Please sign in to comment.