forked from openkylin/platform_build
Merge "HOST_CROSS_OS/ARCH can be configured to linux_bionic/arm64"
This commit is contained in:
commit
53a80be100
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# Copyright (C) 2020 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 builds hosted on linux_arm-arm64
|
||||
# Included by combo/select.mk
|
||||
|
||||
define $(combo_var_prefix)transform-shared-lib-to-toc
|
||||
$(call _gen_toc_command_for_elf,$(1),$(2))
|
||||
endef
|
|
@ -148,15 +148,25 @@ HOST_OS_EXTRA := $(subst $(space),-,$(HOST_OS_EXTRA))
|
|||
# BUILD_OS is the real host doing the build.
|
||||
BUILD_OS := $(HOST_OS)
|
||||
|
||||
HOST_CROSS_OS :=
|
||||
# We can cross-build Windows binaries on Linux
|
||||
# We can do the cross-build only on Linux
|
||||
ifeq ($(HOST_OS),linux)
|
||||
ifeq ($(BUILD_HOST_static),)
|
||||
HOST_CROSS_OS := windows
|
||||
HOST_CROSS_ARCH := x86
|
||||
HOST_CROSS_2ND_ARCH := x86_64
|
||||
2ND_HOST_CROSS_IS_64_BIT := true
|
||||
endif
|
||||
# Windows has been the default host_cross OS
|
||||
ifeq (,$(filter-out windows,$(HOST_CROSS_OS)))
|
||||
# We can only create static host binaries for Linux, so if static host
|
||||
# binaries are requested, turn off Windows cross-builds.
|
||||
ifeq ($(BUILD_HOST_static),)
|
||||
HOST_CROSS_OS := windows
|
||||
HOST_CROSS_ARCH := x86
|
||||
HOST_CROSS_2ND_ARCH := x86_64
|
||||
2ND_HOST_CROSS_IS_64_BIT := true
|
||||
endif
|
||||
else ifeq ($(HOST_CROSS_OS),linux_bionic)
|
||||
ifeq (,$(HOST_CROSS_ARCH))
|
||||
$(error HOST_CROSS_ARCH missing.)
|
||||
endif
|
||||
else
|
||||
$(error Unsupported HOST_CROSS_OS $(HOST_CROSS_OS))
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),)
|
||||
|
|
|
@ -608,8 +608,8 @@ $(strip \
|
|||
$(eval modules_32 := $(patsubst %:32,%,$(filter %:32,$(2)))) \
|
||||
$(eval modules_64 := $(patsubst %:64,%,$(filter %:64,$(2)))) \
|
||||
$(eval modules_both := $(filter-out %:32 %:64,$(2))) \
|
||||
$(eval ### For host cross modules, the primary arch is windows x86 and secondary is x86_64) \
|
||||
$(if $(filter HOST_CROSS,$(1)), \
|
||||
$(eval ### if 2ND_HOST_CROSS_IS_64_BIT, then primary/secondary are reversed for HOST_CROSS modules) \
|
||||
$(if $(filter HOST_CROSS_true,$(1)_$(2ND_HOST_CROSS_IS_64_BIT)), \
|
||||
$(eval modules_1st_arch := $(modules_32)) \
|
||||
$(eval modules_2nd_arch := $(modules_64)), \
|
||||
$(eval modules_1st_arch := $(modules_64)) \
|
||||
|
|
Loading…
Reference in New Issue