diff options
-rw-r--r-- | Android.mk | 29 | ||||
-rw-r--r-- | src/dbus/server/CMakeLists.txt | 17 |
2 files changed, 33 insertions, 13 deletions
@@ -64,18 +64,21 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) -$(LOCAL_PATH)/src/dbus/server/dbus_thread_object.cpp: $(LOCAL_PATH)/src/dbus/server/introspect.hpp +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE := otbr-agent +LOCAL_MODULE_TAGS := eng +LOCAL_SHARED_LIBRARIES := libdbus + +OTBR_GEN_HEADER_DIR := $(local-intermediates-dir)/gen +OTBR_GEN_DBUS_INTROSPECT_HEADER := $(OTBR_GEN_HEADER_DIR)/dbus/server/introspect.hpp -$(LOCAL_PATH)/src/dbus/server/introspect.hpp: $(LOCAL_PATH)/src/dbus/server/introspect.xml +$(OTBR_GEN_DBUS_INTROSPECT_HEADER): $(LOCAL_PATH)/src/dbus/server/introspect.xml + mkdir -p $(OTBR_GEN_HEADER_DIR)/dbus/server echo 'R"INTROSPECT(' > $@ cat $+ >> $@ echo ')INTROSPECT"' >> $@ - -LOCAL_MODULE_CLASS := EXECUTABLES -LOCAL_MODULE := otbr-agent -LOCAL_MODULE_TAGS := eng -LOCAL_SHARED_LIBRARIES := libdbus +$(LOCAL_PATH)/src/dbus/server/dbus_thread_object.cpp: $(OTBR_GEN_HEADER_DIR)/dbus/server/introspect.hpp ifneq ($(ANDROID_NDK),1) LOCAL_SHARED_LIBRARIES += libcutils @@ -89,6 +92,7 @@ LOCAL_C_INCLUDES := \ external/openthread/include \ external/openthread/src \ external/openthread/src/posix/platform/include \ + $(OTBR_GEN_HEADER_DIR) \ $(OTBR_PROJECT_INCLUDES) LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter @@ -100,6 +104,8 @@ LOCAL_CFLAGS += \ LOCAL_CPPFLAGS += -std=c++14 +LOCAL_GENERATED_SOURCES = $(OTBR_GEN_DBUS_INTROSPECT_HEADER) + LOCAL_SRC_FILES := \ src/agent/agent_instance.cpp \ src/agent/instance_params.cpp \ @@ -151,9 +157,14 @@ OTBR_AGENT_USER ?= root OTBR_AGENT_GROUP ?= root LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/dbus-1/system.d -LOCAL_SRC_FILES := src/agent/otbr-agent.conf -$(LOCAL_PATH)/src/agent/otbr-agent.conf: $(LOCAL_PATH)/src/agent/otbr-agent.conf.in +OTBR_GEN_DBUS_CONF_DIR := $(local-intermediates-dir)/gen +$(OTBR_GEN_DBUS_CONF_DIR)/otbr-agent.conf: $(LOCAL_PATH)/src/agent/otbr-agent.conf.in + mkdir -p $(OTBR_GEN_DBUS_CONF_DIR) sed -e 's/@OTBR_AGENT_USER@/$(OTBR_AGENT_USER)/g' -e 's/@OTBR_AGENT_GROUP@/$(OTBR_AGENT_GROUP)/g' $< > $@ +# Dirty hack for Android.mk to copy config files from the intermediate directory. +LOCAL_PATH := $(local-intermediates-dir) +LOCAL_SRC_FILES := gen/otbr-agent.conf + include $(BUILD_PREBUILT) endif # ifeq ($(OTBR_ENABLE_ANDROID_MK),1) diff --git a/src/dbus/server/CMakeLists.txt b/src/dbus/server/CMakeLists.txt index 6d7aba58..64188717 100644 --- a/src/dbus/server/CMakeLists.txt +++ b/src/dbus/server/CMakeLists.txt @@ -26,10 +26,13 @@ # POSSIBILITY OF SUCH DAMAGE. # -file(READ introspect.xml OTBR_DBUS_INTROSPECT) -file(WRITE introspect.hpp "R\"INTROSPECT(") -file(APPEND introspect.hpp ${OTBR_DBUS_INTROSPECT}) -file(APPEND introspect.hpp ")INTROSPECT\"") +add_custom_target(otbr-dbus-introspect-header ALL + COMMAND echo "R\"INTROSPECT(" > introspect.hpp + COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/introspect.xml >> introspect.hpp + COMMAND echo ")INTROSPECT\"" >> introspect.hpp + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + VERBATIM +) option(OTBR_ENABLE_LEGACY "enable legacy support") @@ -40,6 +43,12 @@ add_library(otbr-dbus-server STATIC error_helper.cpp ) +target_include_directories(otbr-dbus-server PRIVATE + ${PROJECT_BINARY_DIR}/src +) + +add_dependencies(otbr-dbus-server otbr-dbus-introspect-header) + if(OTBR_ENABLE_LEGACY) target_compile_definitions(otbr-dbus-server PRIVATE "OTBR_ENABLE_LEGACY=1" |