6feb6d5607
This change basically ported our target multilib to the host side. It supports 2 host build modes: x86 and x86_64 multilib build. For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64 multilib build. Later we'll default to x86_64 build and have a flag to force 32-bit only build, which may be needed by SDK build. In host module definition, like in target ones, you can use the following LOCAL variables to set up multilib configuration: LOCAL_MULTILIB: can be "both", "first", "32" or "64". It also supports the same set of arch or 32-vs-64 specific LOCAL variables. By default, it builds only for the first arch. To keep path compatibility, in x86_64 build files are still output to out/host/linux-x86; Both 32-bit and 64-bit executables are in out/host/linux-86/bin; In x86_64 build 32-bit shared libraries are installed to out/host/linux-x86/lib32 and 64-bit shared libraries are installed to out/host/linux-x86/lib; 32-bit object files are output to out/host/linux-x86/obj32 and 64-bit object files are output to out/host/linux-x86/obj. Bug: 13751317 Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
50 lines
1.9 KiB
Makefile
50 lines
1.9 KiB
Makefile
# Detect Mac OS X and SDK versions.
|
|
# Output variables:
|
|
# build_mac_version
|
|
# mac_sdk_version
|
|
# mac_sdk_root
|
|
# gcc_darwin_version
|
|
|
|
ifndef build_mac_version
|
|
|
|
build_mac_version := $(shell sw_vers -productVersion)
|
|
|
|
mac_sdk_versions_supported := 10.6 10.7 10.8
|
|
ifneq ($(strip $(MAC_SDK_VERSION)),)
|
|
mac_sdk_version := $(MAC_SDK_VERSION)
|
|
ifeq ($(filter $(mac_sdk_version),$(mac_sdk_versions_supported)),)
|
|
$(warning ****************************************************************)
|
|
$(warning * MAC_SDK_VERSION $(MAC_SDK_VERSION) isn't one of the supported $(mac_sdk_versions_supported))
|
|
$(warning ****************************************************************)
|
|
$(error Stop.)
|
|
endif
|
|
else
|
|
mac_sdk_versions_installed := $(shell xcodebuild -showsdks | grep macosx | sort | sed -e "s/.*macosx//g")
|
|
mac_sdk_version := $(firstword $(filter $(mac_sdk_versions_installed), $(mac_sdk_versions_supported)))
|
|
ifeq ($(mac_sdk_version),)
|
|
mac_sdk_version := $(firstword $(mac_sdk_versions_supported))
|
|
endif
|
|
endif
|
|
|
|
mac_sdk_path := $(shell xcode-select -print-path)
|
|
# try /Applications/Xcode*.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk
|
|
# or /Volume/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.?.sdk
|
|
mac_sdk_root := $(mac_sdk_path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(mac_sdk_version).sdk
|
|
ifeq ($(wildcard $(mac_sdk_root)),)
|
|
# try legacy /Developer/SDKs/MacOSX10.?.sdk
|
|
mac_sdk_root := /Developer/SDKs/MacOSX$(mac_sdk_version).sdk
|
|
endif
|
|
ifeq ($(wildcard $(mac_sdk_root)),)
|
|
$(warning *****************************************************)
|
|
$(warning * Can not find SDK $(mac_sdk_version) at $(mac_sdk_root))
|
|
$(warning *****************************************************)
|
|
$(error Stop.)
|
|
endif
|
|
|
|
ifeq ($(mac_sdk_version),10.6)
|
|
gcc_darwin_version := 10
|
|
else
|
|
gcc_darwin_version := 11
|
|
endif
|
|
|
|
endif # ifndef build_mac_version
|