Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / ot-br-posix / repo / Android.mk
1 #
2 #  Copyright (c) 2018, The OpenThread Authors.
3 #  All rights reserved.
4 #
5 #  Redistribution and use in source and binary forms, with or without
6 #  modification, are permitted provided that the following conditions are met:
7 #  1. Redistributions of source code must retain the above copyright
8 #     notice, this list of conditions and the following disclaimer.
9 #  2. Redistributions in binary form must reproduce the above copyright
10 #     notice, this list of conditions and the following disclaimer in the
11 #     documentation and/or other materials provided with the distribution.
12 #  3. Neither the name of the copyright holder nor the
13 #     names of its contributors may be used to endorse or promote products
14 #     derived from this software without specific prior written permission.
15 #
16 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 #  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 #  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 #  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 #  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 #  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 #  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 #  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 #  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 #  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 #  POSSIBILITY OF SUCH DAMAGE.
27 #
28
29 LOCAL_PATH := $(call my-dir)
30
31 ifeq ($(OTBR_ENABLE_ANDROID_MK),1)
32
33 ifneq ($(OTBR_PROJECT_ANDROID_MK),)
34 include $(OTBR_PROJECT_ANDROID_MK)
35 endif
36
37 include $(CLEAR_VARS)
38
39 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
40 LOCAL_MODULE := libotbr-dbus-client
41 LOCAL_MODULE_TAGS := eng
42
43 LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter
44
45 LOCAL_C_INCLUDES := \
46     $(LOCAL_PATH)/include \
47     $(LOCAL_PATH)/src \
48     external/openthread/include \
49
50 LOCAL_SRC_FILES = \
51     src/dbus/client/client_error.cpp \
52     src/dbus/client/thread_api_dbus.cpp \
53     src/dbus/common/dbus_message_helper.cpp \
54     src/dbus/common/dbus_message_helper_openthread.cpp \
55     src/dbus/common/error.cpp \
56
57 LOCAL_EXPORT_C_INCLUDE_DIRS := \
58     $(LOCAL_PATH)/src \
59     $(LOCAL_PATH)/include \
60
61 LOCAL_SHARED_LIBRARIES += libdbus
62
63 include $(BUILD_STATIC_LIBRARY)
64
65 include $(CLEAR_VARS)
66
67 LOCAL_MODULE_CLASS := EXECUTABLES
68 LOCAL_MODULE := otbr-agent
69 LOCAL_MODULE_TAGS := eng
70 LOCAL_SHARED_LIBRARIES := libdbus
71
72 OTBR_GEN_HEADER_DIR := $(local-intermediates-dir)/gen
73 OTBR_GEN_DBUS_INTROSPECT_HEADER := $(OTBR_GEN_HEADER_DIR)/dbus/server/introspect.hpp
74
75 $(OTBR_GEN_DBUS_INTROSPECT_HEADER): $(LOCAL_PATH)/src/dbus/server/introspect.xml
76         mkdir -p $(OTBR_GEN_HEADER_DIR)/dbus/server
77         echo 'R"INTROSPECT(' > $@
78         cat $+ >> $@
79         echo ')INTROSPECT"' >> $@
80
81 $(LOCAL_PATH)/src/dbus/server/dbus_thread_object.cpp: $(OTBR_GEN_HEADER_DIR)/dbus/server/introspect.hpp
82
83 ifneq ($(ANDROID_NDK),1)
84 LOCAL_SHARED_LIBRARIES += libcutils
85 endif
86
87 LOCAL_C_INCLUDES := \
88     $(LOCAL_PATH)/include \
89     $(LOCAL_PATH)/src \
90     external/libchrome \
91     external/gtest/include \
92     external/openthread/include \
93     external/openthread/src \
94     external/openthread/src/posix/platform/include \
95     $(OTBR_GEN_HEADER_DIR) \
96     $(OTBR_PROJECT_INCLUDES)
97
98 LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter
99 LOCAL_CFLAGS += \
100     -DOTBR_PACKAGE_VERSION=\"0.2.0\" \
101     -DOTBR_ENABLE_DBUS_SERVER=1 \
102     -DOTBR_DBUS_INTROSPECT_FILE=\"\" \
103     $(OTBR_PROJECT_CFLAGS) \
104
105 LOCAL_CPPFLAGS += -std=c++14
106
107 LOCAL_GENERATED_SOURCES = $(OTBR_GEN_DBUS_INTROSPECT_HEADER)
108
109 LOCAL_SRC_FILES := \
110     src/agent/advertising_proxy.cpp \
111     src/agent/agent_instance.cpp \
112     src/agent/instance_params.cpp \
113     src/agent/border_agent.cpp \
114     src/agent/main.cpp \
115     src/agent/ncp_openthread.cpp \
116     src/agent/thread_helper.cpp \
117     src/common/logging.cpp \
118     src/dbus/common/dbus_message_dump.cpp \
119     src/dbus/common/dbus_message_helper.cpp \
120     src/dbus/common/dbus_message_helper_openthread.cpp \
121     src/dbus/common/error.cpp \
122     src/dbus/server/dbus_agent.cpp \
123     src/dbus/server/dbus_object.cpp \
124     src/dbus/server/dbus_thread_object.cpp \
125     src/dbus/server/error_helper.cpp \
126     src/utils/event_emitter.cpp \
127     src/utils/hex.cpp \
128     src/utils/strcpy_utils.cpp \
129
130 LOCAL_STATIC_LIBRARIES += \
131     libopenthread-ncp \
132     libopenthread-cli \
133     ot-core \
134
135 LOCAL_LDLIBS := \
136     -lutil
137
138 ifeq ($(OTBR_MDNS),mDNSResponder)
139 LOCAL_SRC_FILES += \
140     src/mdns/mdns_mdnssd.cpp \
141
142 LOCAL_SHARED_LIBRARIES += libmdnssd
143 endif
144
145 LOCAL_SRC_FILES += $(OTBR_PROJECT_SRC_FILES)
146 LOCAL_STATIC_LIBRARIES += $(OTBR_PROJECT_STATIC_LIBRARIES)
147 LOCAL_SHARED_LIBRARIES += $(OTBR_PROJECT_SHARED_LIBRARIES)
148
149 include $(BUILD_EXECUTABLE)
150
151 include $(CLEAR_VARS)
152
153 LOCAL_MODULE_CLASS := ETC
154 LOCAL_MODULE := otbr-agent.conf
155 LOCAL_MODULE_TAGS := eng
156
157 OTBR_AGENT_USER ?= root
158 OTBR_AGENT_GROUP ?= root
159
160 LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/dbus-1/system.d
161 OTBR_GEN_DBUS_CONF_DIR := $(local-intermediates-dir)/gen
162 $(OTBR_GEN_DBUS_CONF_DIR)/otbr-agent.conf: $(LOCAL_PATH)/src/agent/otbr-agent.conf.in
163         mkdir -p $(OTBR_GEN_DBUS_CONF_DIR)
164         sed -e 's/@OTBR_AGENT_USER@/$(OTBR_AGENT_USER)/g' -e 's/@OTBR_AGENT_GROUP@/$(OTBR_AGENT_GROUP)/g' $< > $@
165
166 # Dirty hack for Android.mk to copy config files from the intermediate directory.
167 LOCAL_PATH := $(local-intermediates-dir)
168 LOCAL_SRC_FILES := gen/otbr-agent.conf
169
170 include $(BUILD_PREBUILT)
171 endif # ifeq ($(OTBR_ENABLE_ANDROID_MK),1)