forked from openkylin/platform_build
Merge changes I769ed278,I99cb69ea,I57bcbed0,I6e51e51f,Iab2d36e2 into nyc-dev
* changes: Remove debug statement Tell Soong about HOST_CROSS_* Update to use the latest clang-2629532. Use newest clang static analyzers. Add 64-bit windows cross-compiles
This commit is contained in:
commit
ed68f54ba0
|
@ -168,14 +168,14 @@ ifneq ($(strip $(LOCAL_BUILT_MODULE)$(LOCAL_INSTALLED_MODULE)),)
|
|||
endif
|
||||
|
||||
my_register_name := $(LOCAL_MODULE)
|
||||
ifdef LOCAL_2ND_ARCH_VAR_PREFIX
|
||||
ifndef LOCAL_NO_2ND_ARCH_MODULE_SUFFIX
|
||||
my_register_name := $(LOCAL_MODULE)$($(my_prefix)2ND_ARCH_MODULE_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(my_host_cross),true)
|
||||
my_register_name := host_cross_$(LOCAL_MODULE)
|
||||
endif
|
||||
ifdef LOCAL_2ND_ARCH_VAR_PREFIX
|
||||
ifndef LOCAL_NO_2ND_ARCH_MODULE_SUFFIX
|
||||
my_register_name := $(my_register_name)$($(my_prefix)2ND_ARCH_MODULE_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
# Make sure that this IS_HOST/CLASS/MODULE combination is unique.
|
||||
module_id := MODULE.$(if \
|
||||
$(LOCAL_IS_HOST_MODULE),$($(my_prefix)OS),TARGET).$(LOCAL_MODULE_CLASS).$(my_register_name)
|
||||
|
|
|
@ -404,6 +404,12 @@ ifeq ($(strip $(WITH_STATIC_ANALYZER)),)
|
|||
LOCAL_NO_STATIC_ANALYZER := true
|
||||
endif
|
||||
|
||||
# Clang does not recognize all gcc flags.
|
||||
# Use static analyzer only if clang is used.
|
||||
ifneq ($(my_clang),true)
|
||||
LOCAL_NO_STATIC_ANALYZER := true
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
|
||||
my_syntax_arch := host
|
||||
else
|
||||
|
@ -418,13 +424,16 @@ ifeq ($(strip $(my_cc)),)
|
|||
endif
|
||||
my_cc := $(my_cc_wrapper) $(my_cc)
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_NO_STATIC_ANALYZER),true)
|
||||
my_cc := $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer $(my_syntax_arch) "$(my_cc)"
|
||||
my_cc := CCC_CC=$(CLANG) CLANG=$(CLANG) \
|
||||
$(SYNTAX_TOOLS_PREFIX)/ccc-analyzer
|
||||
else
|
||||
ifneq ($(LOCAL_NO_SYNTAX_CHECK),true)
|
||||
my_cc := $(SYNTAX_TOOLS_PREFIX)/ccc-syntax $(my_syntax_arch) "$(my_cc)"
|
||||
my_cc := $(my_cc) -fsyntax-only
|
||||
endif
|
||||
endif
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CC := $(my_cc)
|
||||
|
||||
ifeq ($(strip $(my_cxx)),)
|
||||
|
@ -435,13 +444,16 @@ ifeq ($(strip $(my_cxx)),)
|
|||
endif
|
||||
my_cxx := $(my_cxx_wrapper) $(my_cxx)
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_NO_STATIC_ANALYZER),true)
|
||||
my_cxx := $(SYNTAX_TOOLS_PREFIX)/cxx-analyzer $(my_syntax_arch) "$(my_cxx)"
|
||||
my_cxx := CCC_CXX=$(CLANG_CXX) CLANG_CXX=$(CLANG_CXX) \
|
||||
$(SYNTAX_TOOLS_PREFIX)/c++-analyzer
|
||||
else
|
||||
ifneq ($(LOCAL_NO_SYNTAX_CHECK),true)
|
||||
my_cxx := $(SYNTAX_TOOLS_PREFIX)/cxx-syntax $(my_syntax_arch) "$(my_cxx)"
|
||||
my_cxx := $(my_cxx) -fsyntax-only
|
||||
endif
|
||||
endif
|
||||
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_LINKER := $(my_linker)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CXX := $(my_cxx)
|
||||
$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CLANG := $(my_clang)
|
||||
|
|
|
@ -37,20 +37,20 @@ CLANG_CONFIG_x86_HOST_CROSS_EXTRA_LDFLAGS := \
|
|||
$(CLANG_CONFIG_x86_HOST_CROSS_COMBO_EXTRA_LDFLAGS) \
|
||||
-target $(CLANG_CONFIG_x86_HOST_CROSS_TRIPLE)
|
||||
|
||||
CLANG_HOST_CROSS_GLOBAL_CFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$(HOST_CROSS_GLOBAL_CFLAGS)) \
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_HOST_CROSS_EXTRA_CFLAGS)
|
||||
|
||||
CLANG_HOST_CROSS_GLOBAL_CONLYFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$(HOST_CROSS_GLOBAL_CONLYFLAGS)) \
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CONLYFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CONLYFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_HOST_CROSS_EXTRA_CONLYFLAGS)
|
||||
|
||||
CLANG_HOST_CROSS_GLOBAL_CPPFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$(HOST_CROSS_GLOBAL_CPPFLAGS)) \
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CPPFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CPPFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_HOST_CROSS_EXTRA_CPPFLAGS)
|
||||
|
||||
CLANG_HOST_CROSS_GLOBAL_LDFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$(HOST_CROSS_GLOBAL_LDFLAGS)) \
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_LDFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_LDFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_HOST_CROSS_EXTRA_LDFLAGS)
|
||||
|
||||
HOST_CROSS_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686.a
|
||||
$(clang_2nd_arch_prefix)HOST_CROSS_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686.a
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
include $(BUILD_SYSTEM)/clang/x86_64.mk
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_TRIPLE := x86_64-pc-mingw32
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_ASFLAGS := \
|
||||
$(CLANG_CONFIG_EXTRA_ASFLAGS) \
|
||||
$(CLANG_CONFIG_HOST_CROSS_EXTRA_ASFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_EXTRA_ASFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_COMBO_EXTRA_ASFLAGS) \
|
||||
-target $(CLANG_CONFIG_x86_64_HOST_CROSS_TRIPLE)
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CFLAGS := \
|
||||
$(CLANG_CONFIG_EXTRA_CFLAGS) \
|
||||
$(CLANG_CONFIG_HOST_CROSS_EXTRA_CFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_EXTRA_CFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_COMBO_EXTRA_CFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_ASFLAGS)
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CONLYFLAGS := \
|
||||
$(CLANG_CONFIG_EXTRA_CONLYFLAGS) \
|
||||
$(CLANG_CONFIG_HOST_CROSS_EXTRA_CONLYFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_EXTRA_CONLYFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_COMBO_EXTRA_CONLYFLAGS)
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CPPFLAGS := \
|
||||
$(CLANG_CONFIG_EXTRA_CPPFLAGS) \
|
||||
$(CLANG_CONFIG_HOST_CROSS_EXTRA_CPPFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_EXTRA_CPPFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_COMBO_EXTRA_CPPFLAGS) \
|
||||
-target $(CLANG_CONFIG_x86_64_HOST_CROSS_TRIPLE)
|
||||
|
||||
CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_LDFLAGS := \
|
||||
$(CLANG_CONFIG_EXTRA_LDFLAGS) \
|
||||
$(CLANG_CONFIG_HOST_CROSS_EXTRA_LDFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_EXTRA_LDFLAGS) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_COMBO_EXTRA_LDFLAGS) \
|
||||
-target $(CLANG_CONFIG_x86_64_HOST_CROSS_TRIPLE)
|
||||
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CFLAGS)
|
||||
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CONLYFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CONLYFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CONLYFLAGS)
|
||||
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_CPPFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_CPPFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_CPPFLAGS)
|
||||
|
||||
$(clang_2nd_arch_prefix)CLANG_HOST_CROSS_GLOBAL_LDFLAGS := \
|
||||
$(call convert-to-host-clang-flags,$($(clang_2nd_arch_prefix)HOST_CROSS_GLOBAL_LDFLAGS)) \
|
||||
$(CLANG_CONFIG_x86_64_HOST_CROSS_EXTRA_LDFLAGS)
|
||||
|
||||
$(clang_2nd_arch_prefix)HOST_CROSS_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-x86_64.a
|
|
@ -13,7 +13,7 @@ endif
|
|||
ifeq ($(HOST_OS),linux)
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)
|
||||
|
@ -23,14 +23,14 @@ CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS += -fstack-protector-strong
|
|||
ifneq ($(strip $($(clang_2nd_arch_prefix)HOST_IS_64_BIT)),)
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CPPFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/x86_64-linux \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/backward
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8 \
|
||||
-L$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8 \
|
||||
|
@ -38,14 +38,14 @@ CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
|||
else
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CPPFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/x86_64-linux/32 \
|
||||
-isystem $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/include/c++/4.8/backward
|
||||
|
||||
CLANG_CONFIG_x86_LINUX_HOST_EXTRA_LDFLAGS := \
|
||||
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
|
||||
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
--sysroot $($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
|
||||
-B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8/32 \
|
||||
-L$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/lib/gcc/x86_64-linux/4.8/32 \
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
## Clang configurations.
|
||||
|
||||
LLVM_RELEASE_VERSION := 3.8
|
||||
LLVM_PREBUILTS_VERSION ?= clang-2577113
|
||||
LLVM_PREBUILTS_BASE ?= prebuilts/clang/host
|
||||
LLVM_PREBUILTS_PATH := $(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/bin
|
||||
LLVM_RTLIB_PATH := $(LLVM_PREBUILTS_PATH)/../lib64/clang/$(LLVM_RELEASE_VERSION)/lib/linux/
|
||||
|
||||
|
@ -149,8 +146,13 @@ clang_2nd_arch_prefix := $(HOST_2ND_ARCH_VAR_PREFIX)
|
|||
include $(BUILD_SYSTEM)/clang/HOST_$(HOST_2ND_ARCH).mk
|
||||
endif
|
||||
|
||||
ifdef HOST_CROSS_OS
|
||||
include $(BUILD_SYSTEM)/clang/HOST_CROSS_$(HOST_CROSS_OS).mk
|
||||
ifdef HOST_CROSS_ARCH
|
||||
clang_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/clang/HOST_CROSS_$(HOST_CROSS_ARCH).mk
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
clang_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/clang/HOST_CROSS_$(HOST_CROSS_2ND_ARCH).mk
|
||||
endif
|
||||
endif
|
||||
|
||||
# TARGET config
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
## Clang/LLVM release versions.
|
||||
|
||||
LLVM_RELEASE_VERSION := 3.8
|
||||
LLVM_PREBUILTS_VERSION ?= clang-2629532
|
||||
LLVM_PREBUILTS_BASE ?= prebuilts/clang/host
|
|
@ -305,6 +305,9 @@ LOCAL_SRC_FILES_$(HOST_OS)_$(HOST_2ND_ARCH):=
|
|||
endif
|
||||
ifdef HOST_CROSS_OS
|
||||
LOCAL_SRC_FILES_$(HOST_CROSS_OS)_$(HOST_CROSS_ARCH):=
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
LOCAL_SRC_FILES_$(HOST_CROSS_OS)_$(HOST_CROSS_2ND_ARCH):=
|
||||
endif
|
||||
endif
|
||||
|
||||
LOCAL_SRC_FILES_32:=
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -DUSE_MINGW -DWIN32_LEAN_AND_MEAN
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -Wno-unused-parameter
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot=prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -m32
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += -m32
|
||||
TOOLS_PREFIX := prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# Settings to use MinGW as a cross-compiler under Linux
|
||||
# Included by combo/select.make
|
||||
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -DUSE_MINGW -DWIN32_LEAN_AND_MEAN
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -Wno-unused-parameter
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += --sysroot prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -m64
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += -m64
|
||||
TOOLS_PREFIX := prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-
|
||||
$(combo_var_prefix)C_INCLUDES += prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/include
|
||||
$(combo_var_prefix)C_INCLUDES += prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/lib/gcc/x86_64-w64-mingw32/4.8.3/include
|
||||
$(combo_var_prefix)GLOBAL_LD_DIRS += -Lprebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib64
|
||||
|
||||
# Workaround differences in inttypes.h between host and target.
|
||||
# See bug 12708004.
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
|
||||
# Use C99-compliant printf functions (%zd).
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -D__USE_MINGW_ANSI_STDIO=1
|
||||
# Admit to using >= Vista. Both are needed because of <_mingw.h>.
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -D_WIN32_WINNT=0x0600 -DWINVER=0x0600
|
||||
# Get 64-bit off_t and related functions.
|
||||
$(combo_var_prefix)GLOBAL_CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
|
||||
$(combo_var_prefix)CC := $(TOOLS_PREFIX)gcc
|
||||
$(combo_var_prefix)CXX := $(TOOLS_PREFIX)g++
|
||||
$(combo_var_prefix)AR := $(TOOLS_PREFIX)ar
|
||||
$(combo_var_prefix)NM := $(TOOLS_PREFIX)nm
|
||||
$(combo_var_prefix)OBJDUMP := $(TOOLS_PREFIX)objdump
|
||||
|
||||
define $(combo_var_prefix)transform-shared-lib-to-toc
|
||||
$(hide) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OBJDUMP) -x $(1) | grep "^Name" | cut -f3 -d" " > $(2)
|
||||
$(hide) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)NM) -g -f p $(1) | cut -f1-2 -d" " >> $(2)
|
||||
endef
|
||||
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += \
|
||||
--enable-stdcall-fixup
|
||||
|
||||
ifneq ($(strip $(BUILD_HOST_static)),)
|
||||
# Statically-linked binaries are desirable for sandboxed environment
|
||||
$(combo_var_prefix)GLOBAL_LDFLAGS += -static
|
||||
endif # BUILD_HOST_static
|
||||
|
||||
$(combo_var_prefix)SHLIB_SUFFIX := .dll
|
||||
$(combo_var_prefix)EXECUTABLE_SUFFIX := .exe
|
||||
|
||||
$(combo_var_prefix)IS_64_BIT := true
|
||||
|
||||
# The mingw gcc is 4.8, 4.9 is required for color diagnostics
|
||||
$(combo_var_prefix)UNKNOWN_CFLAGS := -fdiagnostics-color
|
|
@ -261,6 +261,12 @@ ifdef HOST_CROSS_OS
|
|||
combo_target := HOST_CROSS_
|
||||
combo_2nd_arch_prefix :=
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
combo_target := HOST_CROSS_
|
||||
combo_2nd_arch_prefix := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/combo/select.mk
|
||||
endif
|
||||
endif
|
||||
|
||||
# on windows, the tools have .exe at the end, and we depend on the
|
||||
|
@ -349,20 +355,18 @@ ifeq ($(strip $(WITH_SYNTAX_CHECK)),0)
|
|||
WITH_SYNTAX_CHECK :=
|
||||
endif
|
||||
|
||||
# define clang/llvm versions and base directory.
|
||||
include $(BUILD_SYSTEM)/clang/versions.mk
|
||||
|
||||
# Disable WITH_STATIC_ANALYZER and WITH_SYNTAX_CHECK if tool can't be found
|
||||
SYNTAX_TOOLS_PREFIX := prebuilts/misc/$(HOST_PREBUILT_TAG)/analyzer/bin
|
||||
SYNTAX_TOOLS_PREFIX := \
|
||||
$(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/tools/scan-build/libexec
|
||||
ifneq ($(strip $(WITH_STATIC_ANALYZER)),)
|
||||
ifeq ($(wildcard $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer),)
|
||||
$(warning *** Disable WITH_STATIC_ANALYZER because $(SYNTAX_TOOLS_PREFIX)/ccc-analyzer does not exist)
|
||||
WITH_STATIC_ANALYZER :=
|
||||
endif
|
||||
endif
|
||||
ifneq ($(strip $(WITH_SYNTAX_CHECK)),)
|
||||
ifeq ($(wildcard $(SYNTAX_TOOLS_PREFIX)/ccc-syntax),)
|
||||
$(warning *** Disable WITH_SYNTAX_CHECK because $(SYNTAX_TOOLS_PREFIX)/ccc-syntax does not exist)
|
||||
WITH_SYNTAX_CHECK :=
|
||||
endif
|
||||
endif
|
||||
|
||||
# WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK
|
||||
ifneq ($(strip $(WITH_STATIC_ANALYZER)),)
|
||||
|
@ -755,6 +759,17 @@ HOST_CROSS_GLOBAL_LD_DIRS += -L$(HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES)
|
|||
HOST_CROSS_PROJECT_INCLUDES:= $(SRC_HEADERS) $(SRC_HOST_HEADERS) $(HOST_CROSS_OUT_HEADERS)
|
||||
HOST_CROSS_GLOBAL_CFLAGS += $(HOST_CROSS_RELEASE_CFLAGS)
|
||||
HOST_CROSS_GLOBAL_CPPFLAGS += $(HOST_CROSS_RELEASE_CPPFLAGS)
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_GLOBAL_CFLAGS += $(filter-out $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_UNKNOWN_CFLAGS),$(COMMON_GLOBAL_CFLAGS))
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_RELEASE_CFLAGS += $(COMMON_RELEASE_CFLAGS)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_GLOBAL_CPPFLAGS += $(COMMON_GLOBAL_CPPFLAGS)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_RELEASE_CPPFLAGS += $(COMMON_RELEASE_CPPFLAGS)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_GLOBAL_LD_DIRS += -L$($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_PROJECT_INCLUDES:= $(SRC_HEADERS) $(SRC_HOST_HEADERS) $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_HEADERS)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_GLOBAL_CFLAGS += $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_RELEASE_CFLAGS)
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_GLOBAL_CPPFLAGS += $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_RELEASE_CPPFLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef BRILLO
|
||||
|
|
|
@ -88,6 +88,7 @@ $(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
|||
HOST_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
||||
$(HOST_2ND_ARCH_VAR_PREFIX)HOST_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
||||
HOST_CROSS_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_DEPENDENCIES_ON_SHARED_LIBRARIES :=
|
||||
|
||||
# Generated class file names for Android resource.
|
||||
# They are escaped and quoted so can be passed safely to a bash command.
|
||||
|
|
|
@ -78,9 +78,12 @@ $(info TARGET_2ND_ARCH=$(TARGET_2ND_ARCH))
|
|||
$(info TARGET_2ND_ARCH_VARIANT=$(TARGET_2ND_ARCH_VARIANT))
|
||||
$(info TARGET_2ND_CPU_VARIANT=$(TARGET_2ND_CPU_VARIANT))
|
||||
$(info HOST_ARCH=$(HOST_ARCH))
|
||||
$(info HOST_2ND_ARCH=$(HOST_2ND_ARCH))
|
||||
$(info HOST_OS=$(HOST_OS))
|
||||
$(info HOST_OS_EXTRA=$(HOST_OS_EXTRA))
|
||||
$(info HOST_CROSS_OS=$(HOST_CROSS_OS))
|
||||
$(info HOST_CROSS_ARCH=$(HOST_CROSS_ARCH))
|
||||
$(info HOST_CROSS_2ND_ARCH=$(HOST_CROSS_2ND_ARCH))
|
||||
$(info HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
|
||||
$(info BUILD_ID=$(BUILD_ID))
|
||||
$(info OUT_DIR=$(OUT_DIR))
|
||||
|
|
|
@ -62,6 +62,7 @@ HOST_CROSS_OS :=
|
|||
ifeq ($(HOST_OS),linux)
|
||||
HOST_CROSS_OS := windows
|
||||
HOST_CROSS_ARCH := x86
|
||||
HOST_CROSS_2ND_ARCH := x86_64
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),)
|
||||
|
@ -277,6 +278,14 @@ else
|
|||
HOST_LIBRARY_PATH := $(HOST_OUT_SHARED_LIBRARIES)
|
||||
endif
|
||||
|
||||
# Out for HOST_CROSS_2ND_ARCH
|
||||
HOST_CROSS_2ND_ARCH_VAR_PREFIX := 2ND_
|
||||
HOST_CROSS_2ND_ARCH_MODULE_SUFFIX := _64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES := $(HOST_CROSS_OUT)/obj64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATE_LIBRARIES := $($(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_INTERMEDIATES)/lib
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_SHARED_LIBRARIES := $(HOST_CROSS_OUT)/lib64
|
||||
$(HOST_CROSS_2ND_ARCH_VAR_PREFIX)HOST_CROSS_OUT_EXECUTABLES := $(HOST_CROSS_OUT_EXECUTABLES)
|
||||
|
||||
TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj
|
||||
TARGET_OUT_HEADERS := $(TARGET_OUT_INTERMEDIATES)/include
|
||||
TARGET_OUT_INTERMEDIATE_LIBRARIES := $(TARGET_OUT_INTERMEDIATES)/lib
|
||||
|
|
|
@ -61,6 +61,7 @@ OVERRIDE_BUILT_MODULE_PATH :=
|
|||
# we don't want others using the cross compiled version
|
||||
saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
|
||||
saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
|
||||
saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
|
||||
LOCAL_BUILT_MODULE :=
|
||||
LOCAL_INSTALLED_MODULE :=
|
||||
LOCAL_INTERMEDIATE_TARGETS :=
|
||||
|
@ -70,9 +71,35 @@ LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
|
|||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/host_executable_internal.mk
|
||||
LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
|
||||
LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
|
||||
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
|
||||
endif
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
OVERRIDE_BUILT_MODULE_PATH :=
|
||||
# we don't want others using the cross compiled version
|
||||
saved_LOCAL_BUILT_MODULE := $(LOCAL_BUILT_MODULE)
|
||||
saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
|
||||
saved_LOCAL_LDFLAGS := $(LOCAL_LDFLAGS)
|
||||
LOCAL_BUILT_MODULE :=
|
||||
LOCAL_INSTALLED_MODULE :=
|
||||
LOCAL_INTERMEDIATE_TARGETS :=
|
||||
|
||||
ifeq ($(LOCAL_NO_FPIE),)
|
||||
LOCAL_LDFLAGS += $(HOST_CROSS_FPIE_FLAGS)
|
||||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/host_executable_internal.mk
|
||||
LOCAL_LDFLAGS := $(saved_LOCAL_LDFLAGS)
|
||||
LOCAL_BUILT_MODULE := $(saved_LOCAL_BUILT_MODULE)
|
||||
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
|
||||
endif
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
endif
|
||||
LOCAL_HOST_PREFIX :=
|
||||
endif
|
||||
|
||||
|
|
|
@ -53,6 +53,25 @@ LOCAL_INTERMEDIATE_TARGETS :=
|
|||
include $(BUILD_SYSTEM)/host_shared_library_internal.mk
|
||||
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
|
||||
endif
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
# Build for HOST_CROSS_2ND_ARCH
|
||||
OVERRIDE_BUILT_MODULE_PATH :=
|
||||
LOCAL_BUILT_MODULE :=
|
||||
LOCAL_MODULE_SUFFIX :=
|
||||
# We don't want makefiles using the cross-compiled host tool
|
||||
saved_LOCAL_INSTALLED_MODULE := $(LOCAL_INSTALLED_MODULE)
|
||||
LOCAL_INSTALLED_MODULE :=
|
||||
LOCAL_INTERMEDIATE_TARGETS :=
|
||||
|
||||
include $(BUILD_SYSTEM)/host_shared_library_internal.mk
|
||||
LOCAL_INSTALLED_MODULE := $(saved_LOCAL_INSTALLED_MODULE)
|
||||
endif
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
endif
|
||||
LOCAL_HOST_PREFIX :=
|
||||
endif
|
||||
|
||||
|
|
|
@ -49,6 +49,21 @@ LOCAL_INTERMEDIATE_TARGETS :=
|
|||
|
||||
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
||||
endif
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $(HOST_CROSS_2ND_ARCH_VAR_PREFIX)
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
# Build for HOST_CROSS_2ND_ARCH
|
||||
OVERRIDE_BUILT_MODULE_PATH :=
|
||||
LOCAL_BUILT_MODULE :=
|
||||
LOCAL_INSTALLED_MODULE :=
|
||||
LOCAL_INTERMEDIATE_TARGETS :=
|
||||
|
||||
include $(BUILD_SYSTEM)/host_static_library_internal.mk
|
||||
endif
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
endif
|
||||
LOCAL_HOST_PREFIX :=
|
||||
endif
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
## LOCAL_MODULE_HOST_OS
|
||||
##
|
||||
## Inputs from build system:
|
||||
## $(my_prefix)IS_64_BIT
|
||||
## $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT
|
||||
## LOCAL_2ND_ARCH_VAR_PREFIX
|
||||
##
|
||||
## Outputs:
|
||||
|
@ -25,19 +25,18 @@ ifeq ($(my_module_multilib),none)
|
|||
my_module_arch_supported := false
|
||||
endif
|
||||
|
||||
ifeq ($(LOCAL_2ND_ARCH_VAR_PREFIX),)
|
||||
ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32)
|
||||
my_module_arch_supported := false
|
||||
else ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),|64)
|
||||
ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32)
|
||||
my_module_arch_supported := false
|
||||
endif
|
||||
else # LOCAL_2ND_ARCH_VAR_PREFIX
|
||||
ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),|64)
|
||||
my_module_arch_supported := false
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_2ND_ARCH_VAR_PREFIX),)
|
||||
ifeq ($(my_module_multilib),first)
|
||||
my_module_arch_supported := false
|
||||
else ifeq ($(my_module_multilib),64)
|
||||
my_module_arch_supported := false
|
||||
endif
|
||||
endif # LOCAL_2ND_ARCH_VAR_PREFIX
|
||||
endif
|
||||
|
||||
ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH))
|
||||
ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)))
|
||||
|
|
|
@ -72,6 +72,25 @@ include $(BUILD_SYSTEM)/prebuilt_internal.mk
|
|||
endif
|
||||
LOCAL_HOST_PREFIX :=
|
||||
endif
|
||||
|
||||
ifdef HOST_CROSS_2ND_ARCH
|
||||
my_prefix := HOST_CROSS_
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $($(my_prefix)2ND_ARCH_VAR_PREFIX)
|
||||
LOCAL_HOST_PREFIX := $(my_prefix)
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
OVERRIDE_BUILT_MODULE_PATH :=
|
||||
LOCAL_BUILT_MODULE :=
|
||||
LOCAL_INSTALLED_MODULE :=
|
||||
LOCAL_MODULE_STEM :=
|
||||
LOCAL_BUILT_MODULE_STEM :=
|
||||
LOCAL_INSTALLED_MODULE_STEM :=
|
||||
LOCAL_INTERMEDIATE_TARGETS :=
|
||||
include $(BUILD_SYSTEM)/prebuilt_internal.mk
|
||||
endif
|
||||
LOCAL_HOST_PREFIX :=
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
@ -45,7 +45,11 @@ $(SOONG_VARIABLES): FORCE
|
|||
echo ' "DeviceSecondaryAbi": ["$(TARGET_2ND_CPU_ABI)", "$(TARGET_2ND_CPU_ABI2)"],'; \
|
||||
echo ''; \
|
||||
echo ' "HostArch": "$(HOST_ARCH)",'; \
|
||||
echo ' "HostSecondaryArch": "$(HOST_2ND_ARCH)"'; \
|
||||
echo ' "HostSecondaryArch": "$(HOST_2ND_ARCH)",'; \
|
||||
echo ''; \
|
||||
echo ' "CrossHost": "$(HOST_CROSS_OS)",'; \
|
||||
echo ' "CrossHostArch": "$(HOST_CROSS_ARCH)",'; \
|
||||
echo ' "CrossHostSecondaryArch": "$(HOST_CROSS_2ND_ARCH)"'; \
|
||||
echo '}') > $(SOONG_VARIABLES_TMP); \
|
||||
if ! cmp -s $(SOONG_VARIABLES_TMP) $(SOONG_VARIABLES); then \
|
||||
mv $(SOONG_VARIABLES_TMP) $(SOONG_VARIABLES); \
|
||||
|
|
Loading…
Reference in New Issue