From: Dan Willemsen Date: Fri, 14 Aug 2015 00:51:40 +0000 (-0700) Subject: Add _(darwin|linux|windows) X-Git-Tag: android-x86-7.1-r1~608^2~19^2~147^2~48^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=7a5498568f10b48a801da0d358c4536018e793b2;p=android-x86%2Fbuild.git Add _(darwin|linux|windows) So that we can support building both linux and windows binaries at the same time on a linux host. This replaces the ifeq($(HOST_OS),...) checks in Android.mk files. Bug: 23566667 Change-Id: I693e11984e36d55bb6f09fa0d49bc485463e16fb --- diff --git a/core/base_rules.mk b/core/base_rules.mk index b93685981..3fedabc60 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -645,9 +645,13 @@ ifdef LOCAL_PICKUP_FILES ALL_MODULES.$(my_register_name).PICKUP_FILES := \ $(ALL_MODULES.$(my_register_name).PICKUP_FILES) $(LOCAL_PICKUP_FILES) endif +my_required_modules := $(LOCAL_REQUIRED_MODULES) \ + $(LOCAL_REQUIRED_MODULES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) +ifdef LOCAL_IS_HOST_MODULE +my_required_modules += $(LOCAL_REQUIRED_MODULES_$($(my_prefix)OS)) +endif ALL_MODULES.$(my_register_name).REQUIRED := \ - $(strip $(ALL_MODULES.$(my_register_name).REQUIRED) $(LOCAL_REQUIRED_MODULES) \ - $(LOCAL_REQUIRED_MODULES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))) + $(strip $(ALL_MODULES.$(my_register_name).REQUIRED) $(my_required_modules)) ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS := \ $(ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS) $(event_log_tags) ALL_MODULES.$(my_register_name).INTERMEDIATE_SOURCE_DIR := \ diff --git a/core/binary.mk b/core/binary.mk index 01c88585b..7b629d80a 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -153,6 +153,19 @@ my_cflags += -fPIC endif endif +ifdef LOCAL_IS_HOST_MODULE +my_src_files += $(LOCAL_SRC_FILES_$($(my_prefix)OS)) +my_static_libraries += $(LOCAL_STATIC_LIBRARIES_$($(my_prefix)OS)) +my_shared_libraries += $(LOCAL_SHARED_LIBRARIES_$($(my_prefix)OS)) +my_cflags += $(LOCAL_CFLAGS_$($(my_prefix)OS)) +my_cppflags += $(LOCAL_CPPFLAGS_$($(my_prefix)OS)) +my_ldflags += $(LOCAL_LDFLAGS_$($(my_prefix)OS)) +my_ldlibs += $(LOCAL_LDLIBS_$($(my_prefix)OS)) +my_asflags += $(LOCAL_ASFLAGS_$($(my_prefix)OS)) +my_c_includes += $(LOCAL_C_INCLUDES_$($(my_prefix)OS)) +my_generated_sources += $(LOCAL_GENERATED_SOURCES_$($(my_prefix)OS)) +endif + my_src_files += $(LOCAL_SRC_FILES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_SRC_FILES_$(my_32_64_bit_suffix)) my_shared_libraries += $(LOCAL_SHARED_LIBRARIES_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_SHARED_LIBRARIES_$(my_32_64_bit_suffix)) my_cflags += $(LOCAL_CFLAGS_$($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)) $(LOCAL_CFLAGS_$(my_32_64_bit_suffix)) diff --git a/core/clear_vars.mk b/core/clear_vars.mk index c42a8e04b..63ae2a2e5 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -255,6 +255,18 @@ LOCAL_REQUIRED_MODULES_$(HOST_2ND_ARCH):= LOCAL_CLANG_$(HOST_2ND_ARCH):= endif +LOCAL_SRC_FILES_$(HOST_OS):= +LOCAL_STATIC_LIBRARIES_$(HOST_OS):= +LOCAL_SHARED_LIBRARIES_$(HOST_OS):= +LOCAL_CFLAGS_$(HOST_OS):= +LOCAL_CPPFLAGS_$(HOST_OS):= +LOCAL_LDFLAGS_$(HOST_OS):= +LOCAL_LDLIBS_$(HOST_OS):= +LOCAL_ASFLAGS_$(HOST_OS):= +LOCAL_C_INCLUDES_$(HOST_OS):= +LOCAL_GENERATED_SOURCES_$(HOST_OS):= +LOCAL_REQUIRED_MODULES_$(HOST_OS):= + LOCAL_SRC_FILES_32:= LOCAL_SRC_FILES_64:= LOCAL_SHARED_LIBRARIES_32:= diff --git a/core/host_test_internal.mk b/core/host_test_internal.mk index e0070c1b5..06949ed3e 100644 --- a/core/host_test_internal.mk +++ b/core/host_test_internal.mk @@ -2,12 +2,11 @@ ## Shared definitions for all host test compilations. ##################################################### -ifeq ($(HOST_OS),windows) -LOCAL_CFLAGS += -DGTEST_OS_WINDOWS -else -LOCAL_CFLAGS += -DGTEST_OS_LINUX -LOCAL_LDLIBS += -lpthread -endif +LOCAL_CFLAGS_windows += -DGTEST_OS_WINDOWS +LOCAL_CFLAGS_linux += -DGTEST_OS_LINUX +LOCAL_LDLIBS_linux += -lpthread +LOCAL_CFLAGS_darwin += -DGTEST_OS_LINUX +LOCAL_LDLIBS_darwin += -lpthread LOCAL_CFLAGS += -DGTEST_HAS_STD_STRING -O0 -g LOCAL_C_INCLUDES += external/gtest/include diff --git a/libs/host/Android.mk b/libs/host/Android.mk index 821f9b877..8c8f75589 100644 --- a/libs/host/Android.mk +++ b/libs/host/Android.mk @@ -1,15 +1,10 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_SRC_FILES:= \ CopyFile.c -ifeq ($(HOST_OS),darwin) -LOCAL_CFLAGS += -DMACOSX_RSRC -endif -ifeq ($(HOST_OS),linux) -endif +LOCAL_CFLAGS_darwin += -DMACOSX_RSRC LOCAL_MODULE:= libhost LOCAL_C_INCLUDES := $(LOCAL_PATH)/include diff --git a/tools/zipalign/Android.mk b/tools/zipalign/Android.mk index 4194f816a..cba6db382 100644 --- a/tools/zipalign/Android.mk +++ b/tools/zipalign/Android.mk @@ -22,15 +22,11 @@ LOCAL_STATIC_LIBRARIES := \ liblog \ libzopfli -ifeq ($(HOST_OS),linux) -LOCAL_LDLIBS += -lrt -endif - -ifdef USE_MINGW -LOCAL_STATIC_LIBRARIES += libz -else -LOCAL_LDLIBS += -lz -endif +LOCAL_LDLIBS_linux += -lrt + +LOCAL_STATIC_LIBRARIES_windows += libz +LOCAL_LDLIBS_linux += -lz +LOCAL_LDLIBS_darwin += -lz ifneq ($(strip $(BUILD_HOST_static)),) LOCAL_LDLIBS += -lpthread