From 1d090fc0cef4fd212ac3077a198537f05064b95a Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Tue, 28 Aug 2018 01:51:25 -0700 Subject: [PATCH] Disable 32-bit Darwin builds Mac OSX 10.14 Mojave deprecates 32-bit executables, and the 10.14 SDK does not successfully link 32-bit files. Test: Install Xcode 10 beta, `m checkbuild host` Change-Id: Ifad471fb88ead4bda870f49837d937fb5742f3f6 --- core/combo/HOST_darwin-x86.mk | 69 -------------------------------- core/combo/HOST_darwin-x86_64.mk | 45 +++++++++++++++++++-- core/envsetup.mk | 5 +++ 3 files changed, 46 insertions(+), 73 deletions(-) delete mode 100644 core/combo/HOST_darwin-x86.mk diff --git a/core/combo/HOST_darwin-x86.mk b/core/combo/HOST_darwin-x86.mk deleted file mode 100644 index 9a55cb540b..0000000000 --- a/core/combo/HOST_darwin-x86.mk +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright (C) 2006 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Configuration for Darwin (Mac OS X) on x86. -# Included by combo/select.mk - -define $(combo_var_prefix)transform-shared-lib-to-toc -$(call _gen_toc_command_for_macho,$(1),$(2)) -endef - -$(combo_2nd_arch_prefix)HOST_GLOBAL_ARFLAGS := cqs - -############################################################ -## Macros after this line are shared by the 64-bit config. - -HOST_CUSTOM_LD_COMMAND := true - -define transform-host-o-to-shared-lib-inner -$(hide) $(PRIVATE_CXX) \ - -dynamiclib -single_module -read_only_relocs suppress \ - $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ - $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ - ) \ - $(PRIVATE_ALL_OBJECTS) \ - $(addprefix -force_load , $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \ - $(PRIVATE_ALL_SHARED_LIBRARIES) \ - $(PRIVATE_ALL_STATIC_LIBRARIES) \ - $(PRIVATE_LDLIBS) \ - -o $@ \ - -install_name @rpath/$(notdir $@) \ - -Wl,-rpath,@loader_path/../$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES)) \ - -Wl,-rpath,@loader_path/$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES)) \ - $(PRIVATE_LDFLAGS) -endef - -define transform-host-o-to-executable-inner -$(hide) $(PRIVATE_CXX) \ - $(foreach path,$(PRIVATE_RPATHS), \ - -Wl,-rpath,@loader_path/$(path)) \ - -o $@ \ - -Wl,-headerpad_max_install_names \ - $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ - $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ - ) \ - $(PRIVATE_ALL_SHARED_LIBRARIES) \ - $(PRIVATE_ALL_OBJECTS) \ - $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ - $(PRIVATE_ALL_STATIC_LIBRARIES) \ - $(PRIVATE_LDFLAGS) \ - $(PRIVATE_LDLIBS) -endef - -# $(1): The file to check -define get-file-size -stat -f "%z" $(1) -endef diff --git a/core/combo/HOST_darwin-x86_64.mk b/core/combo/HOST_darwin-x86_64.mk index 6cca167e48..07f8d9f78a 100644 --- a/core/combo/HOST_darwin-x86_64.mk +++ b/core/combo/HOST_darwin-x86_64.mk @@ -23,7 +23,44 @@ endef HOST_GLOBAL_ARFLAGS := cqs -# We Reuse the following functions with the same name from HOST_darwin-x86.mk: -# transform-host-o-to-shared-lib-inner -# transform-host-o-to-executable-inner -# get-file-size +HOST_CUSTOM_LD_COMMAND := true + +define transform-host-o-to-shared-lib-inner +$(hide) $(PRIVATE_CXX) \ + -dynamiclib -single_module -read_only_relocs suppress \ + $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ + $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ + ) \ + $(PRIVATE_ALL_OBJECTS) \ + $(addprefix -force_load , $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \ + $(PRIVATE_ALL_SHARED_LIBRARIES) \ + $(PRIVATE_ALL_STATIC_LIBRARIES) \ + $(PRIVATE_LDLIBS) \ + -o $@ \ + -install_name @rpath/$(notdir $@) \ + -Wl,-rpath,@loader_path/../$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES)) \ + -Wl,-rpath,@loader_path/$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_OUT_SHARED_LIBRARIES)) \ + $(PRIVATE_LDFLAGS) +endef + +define transform-host-o-to-executable-inner +$(hide) $(PRIVATE_CXX) \ + $(foreach path,$(PRIVATE_RPATHS), \ + -Wl,-rpath,@loader_path/$(path)) \ + -o $@ \ + -Wl,-headerpad_max_install_names \ + $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ + $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ + ) \ + $(PRIVATE_ALL_SHARED_LIBRARIES) \ + $(PRIVATE_ALL_OBJECTS) \ + $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ + $(PRIVATE_ALL_STATIC_LIBRARIES) \ + $(PRIVATE_LDFLAGS) \ + $(PRIVATE_LDLIBS) +endef + +# $(1): The file to check +define get-file-size +stat -f "%z" $(1) +endef diff --git a/core/envsetup.mk b/core/envsetup.mk index 39b9552a1b..161080bd29 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -147,6 +147,11 @@ $(error Building on a 32-bit x86 host is not supported: $(UNAME)!) endif endif +ifeq ($(HOST_OS),darwin) + # Mac no longer supports 32-bit executables + HOST_2ND_ARCH := +endif + BUILD_ARCH := $(HOST_ARCH) BUILD_2ND_ARCH := $(HOST_2ND_ARCH)