Start automatically generating operator<<s for enums.
Change-Id: I0f53db089b9a1ba38ce82b75ab22448877be67e0
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 41edefa..28ac65b 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -104,7 +104,6 @@
LIBART_COMMON_SRC_FILES := \
src/atomic.cc.arm \
src/card_table.cc \
- src/constants.cc \
src/check_jni.cc \
src/class_linker.cc \
src/class_loader.cc \
@@ -268,6 +267,12 @@
$(error unsupported HOST_ARCH=$(HOST_ARCH))
endif # HOST_ARCH != x86
+LIBART_ENUM_OPERATOR_OUT_HEADER_FILES := \
+ src/indirect_reference_table.h \
+ src/instruction_set.h \
+ src/invoke_type.h \
+ src/mutex.h
+
LIBARTTEST_COMMON_SRC_FILES := \
test/StackWalk/stack_walk_jni.cc \
test/ReferenceMap/stack_walk_refmap_jni.cc
diff --git a/build/Android.libart.mk b/build/Android.libart.mk
index 5406c9e..f14f934 100644
--- a/build/Android.libart.mk
+++ b/build/Android.libart.mk
@@ -54,8 +54,20 @@
LOCAL_SRC_FILES := $(LIBART_TARGET_SRC_FILES)
else # host
LOCAL_SRC_FILES := $(LIBART_HOST_SRC_FILES)
+ LOCAL_IS_HOST_MODULE := true
endif
+ GENERATED_SRC_DIR := $$(call intermediates-dir-for,$$(LOCAL_MODULE_CLASS),$$(LOCAL_MODULE),$$(LOCAL_IS_HOST_MODULE),)
+ ENUM_OPERATOR_OUT_CC_FILES := $$(patsubst %.h,%_operator_out.cc,$$(LIBART_ENUM_OPERATOR_OUT_HEADER_FILES))
+ ENUM_OPERATOR_OUT_GEN := $$(addprefix $$(GENERATED_SRC_DIR)/,$$(ENUM_OPERATOR_OUT_CC_FILES))
+
+$$(ENUM_OPERATOR_OUT_GEN): art/tools/generate-operator-out.py
+$$(ENUM_OPERATOR_OUT_GEN): PRIVATE_CUSTOM_TOOL = art/tools/generate-operator-out.py $$< > $$@
+$$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PATH)/%.h
+ $$(transform-generated-source)
+
+ LOCAL_GENERATED_SOURCES += $$(ENUM_OPERATOR_OUT_GEN)
+
LOCAL_CFLAGS := $(LIBART_CFLAGS)
ifeq ($$(art_target_or_host),target)
LOCAL_CFLAGS += $(ART_TARGET_CFLAGS)
@@ -102,7 +114,6 @@
endif
include $(BUILD_SHARED_LIBRARY)
else # host
- LOCAL_IS_HOST_MODULE := true
ifeq ($(ART_USE_LLVM_COMPILER),true)
include $(LLVM_GEN_INTRINSICS_MK)
include $(LLVM_HOST_BUILD_MK)