build: support compiling .mm on host
libchrome uses .mm (Objective-C++) files to bridge C++ code with OS X Frameworks. This adds support for compiling .mm to .o by just using the existing C++ support. Bug: 24168923 Change-Id: Ia65357e2e2584dfffcb6796e214fe6b27635c3a6
This commit is contained in:
@@ -926,6 +926,20 @@ $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m $(yacc_cpps) $
|
|||||||
-include $(objc_objects:%.o=%.P)
|
-include $(objc_objects:%.o=%.P)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
###########################################################
|
||||||
|
## ObjC++: Compile .mm files to .o
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
objcpp_sources := $(filter %.mm,$(my_src_files))
|
||||||
|
objcpp_objects := $(addprefix $(intermediates)/,$(objcpp_sources:.mm=.o))
|
||||||
|
|
||||||
|
ifneq ($(strip $(objcpp_objects)),)
|
||||||
|
$(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm $(yacc_cpps) $(proto_generated_headers) \
|
||||||
|
$(my_additional_dependencies)
|
||||||
|
$(transform-$(PRIVATE_HOST)mm-to-o)
|
||||||
|
-include $(objcpp_objects:%.o=%.P)
|
||||||
|
endif
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
## AS: Compile .S files to .o.
|
## AS: Compile .S files to .o.
|
||||||
###########################################################
|
###########################################################
|
||||||
@@ -1039,6 +1053,7 @@ normal_objects := \
|
|||||||
$(c_objects) \
|
$(c_objects) \
|
||||||
$(gen_c_objects) \
|
$(gen_c_objects) \
|
||||||
$(objc_objects) \
|
$(objc_objects) \
|
||||||
|
$(objcpp_objects) \
|
||||||
$(yacc_objects) \
|
$(yacc_objects) \
|
||||||
$(lex_objects) \
|
$(lex_objects) \
|
||||||
$(proto_generated_objects) \
|
$(proto_generated_objects) \
|
||||||
|
@@ -1198,6 +1198,14 @@ $(transform-host-m-to-o-no-deps)
|
|||||||
$(transform-d-to-p)
|
$(transform-d-to-p)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
###########################################################
|
||||||
|
## Commands for running gcc to compile a host Objective-C++ file
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
define transform-host-mm-to-o
|
||||||
|
$(transform-host-cpp-to-o)
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
## Rules to compile a single C/C++ source with ../ in the path
|
## Rules to compile a single C/C++ source with ../ in the path
|
||||||
|
Reference in New Issue
Block a user