blob: fa3a9c39839bc563cda2c55187d2b7dc1a6ed4ec [file] [log] [blame]
Anthony Stangeabf4bcc2019-10-10 13:25:24 -04001#
2# Copyright 2019 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
Anthony Stange970f6302019-11-18 09:24:33 -050019# Don't build the daemon for targets that don't contain a vendor image as
20# libsdsprpc and libadsprpc are provided by vendor code
21ifeq ($(BUILDING_VENDOR_IMAGE),true)
22
Anthony Stangeabf4bcc2019-10-10 13:25:24 -040023ifeq ($(CHRE_DAEMON_ENABLED),true)
24
25include $(CLEAR_VARS)
26
27# CHRE AP-side daemon
28# NOTE: This can't be converted to a blueprint file until libsdsprpc /
29# libadsprpc is converted as blueprint targets can't depend on targets exposed
30# by makefiles
31LOCAL_MODULE := chre
32LOCAL_MODULE_OWNER := google
33LOCAL_MODULE_TAGS := optional
34LOCAL_VENDOR_MODULE := true
35LOCAL_INIT_RC := chre_daemon.rc
36
37LOCAL_CPP_EXTENSION := .cc
38LOCAL_CFLAGS += -Wall -Werror -Wextra
39
40# Enable the LPMA feature for devices that support audio
41ifeq ($(CHRE_DAEMON_LPMA_ENABLED),true)
42LOCAL_CFLAGS += -DCHRE_DAEMON_LPMA_ENABLED
43endif
44
45ifeq ($(CHRE_DAEMON_LOAD_INTO_SENSORSPD),true)
46LOCAL_CFLAGS += -DCHRE_DAEMON_LOAD_INTO_SENSORSPD
47endif
48
karthik bharadwaj4fc70452020-02-04 16:11:41 -080049# Disable Tokenized Logging
50CHRE_USE_TOKENIZED_LOGGING := false
51
Anthony Stangeabf4bcc2019-10-10 13:25:24 -040052LOCAL_SRC_FILES := \
53 host/common/fragmented_load_transaction.cc \
54 host/common/host_protocol_host.cc \
55 host/common/socket_server.cc \
56 host/msm/daemon/chre_daemon.cc \
57 host/msm/daemon/generated/chre_slpi_stub.c \
58 platform/shared/host_protocol_common.cc
59
60LOCAL_C_INCLUDES := \
61 external/fastrpc/inc \
62 system/chre/external/flatbuffers/include \
63 system/chre/host/common/include \
64 system/chre/host/msm/daemon \
65 system/chre/platform/shared/include \
66 system/chre/platform/slpi/include \
67 system/chre/util/include \
68 system/core/base/include \
69 system/core/libcutils/include \
70 system/core/liblog/include \
71 system/core/libutils/include \
72
73LOCAL_SHARED_LIBRARIES := \
74 libjsoncpp \
75 libutils \
76 libcutils \
77 liblog \
karthik bharadwaj4fc70452020-02-04 16:11:41 -080078 libhidlbase \
79 libbase
80
81# Enable tokenized logging
82ifeq ($(CHRE_USE_TOKENIZED_LOGGING),true)
83LOCAL_CFLAGS += -DCHRE_USE_TOKENIZED_LOGGING
karthik bharadwaj4fc70452020-02-04 16:11:41 -080084PIGWEED_TOKENIZER_DIR = vendor/google_contexthub/chre/external/pigweed
85PIGWEED_TOKENIZER_DIR_RELPATH = ../../$(PIGWEED_TOKENIZER_DIR)
86LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_polyfill/public
87LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_polyfill/public_overrides
88LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_polyfill/standard_library_public
89LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_preprocessor/public
90LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_tokenizer/public
91LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_varint/public
92LOCAL_CFLAGS += -I$(PIGWEED_TOKENIZER_DIR)/pw_span/public
93
94LOCAL_SRC_FILES += $(PIGWEED_TOKENIZER_DIR_RELPATH)/pw_tokenizer/detokenize.cc
95LOCAL_SRC_FILES += $(PIGWEED_TOKENIZER_DIR_RELPATH)/pw_tokenizer/decode.cc
96LOCAL_SRC_FILES += $(PIGWEED_TOKENIZER_DIR_RELPATH)/pw_varint/varint.cc
karthik bharadwajeff08632020-02-10 11:05:06 -080097endif
Anthony Stangeabf4bcc2019-10-10 13:25:24 -040098
99ifeq ($(CHRE_DAEMON_LPMA_ENABLED),true)
100LOCAL_SHARED_LIBRARIES += android.hardware.soundtrigger@2.0
101LOCAL_SHARED_LIBRARIES += libpower
102endif
103
104ifeq ($(CHRE_DAEMON_USE_SDSPRPC),true)
105LOCAL_SHARED_LIBRARIES += libsdsprpc
106else
107LOCAL_SHARED_LIBRARIES += libadsprpc
108endif
109
110include $(BUILD_EXECUTABLE)
111
Anthony Stange970f6302019-11-18 09:24:33 -0500112endif
karthik bharadwaj4fc70452020-02-04 16:11:41 -0800113endif