blob: 6a71d7d34b6b89a026fa35fb9aeffa065226626e [file] [log] [blame]
Marco Nelissen1900e772016-02-02 16:12:16 -08001LOCAL_PATH := $(call my-dir)
2
Jiyong Park5f986102017-12-18 20:43:16 +09003_software_codecs := \
4 libstagefright_soft_aacdec \
5 libstagefright_soft_aacenc \
6 libstagefright_soft_amrdec \
7 libstagefright_soft_amrnbenc \
8 libstagefright_soft_amrwbenc \
9 libstagefright_soft_avcdec \
10 libstagefright_soft_avcenc \
11 libstagefright_soft_flacdec \
12 libstagefright_soft_flacenc \
13 libstagefright_soft_g711dec \
14 libstagefright_soft_gsmdec \
15 libstagefright_soft_hevcdec \
16 libstagefright_soft_mp3dec \
17 libstagefright_soft_mpeg2dec \
18 libstagefright_soft_mpeg4dec \
19 libstagefright_soft_mpeg4enc \
20 libstagefright_soft_opusdec \
21 libstagefright_soft_rawdec \
22 libstagefright_soft_vorbisdec \
23 libstagefright_soft_vpxdec \
24 libstagefright_soft_vpxenc \
25
Marco Nelissen1900e772016-02-02 16:12:16 -080026# service executable
27include $(CLEAR_VARS)
Zhuoyao Zhanga8973fd2018-01-09 17:18:41 -080028# seccomp is not required for coverage build.
29ifneq ($(NATIVE_COVERAGE),true)
Steven Morelandd78d50b2018-04-11 16:51:29 -070030LOCAL_REQUIRED_MODULES_arm := crash_dump.policy mediacodec.policy
31LOCAL_REQUIRED_MODULES_x86 := crash_dump.policy mediacodec.policy
Zhuoyao Zhanga8973fd2018-01-09 17:18:41 -080032endif
Jorge Lucangeli Obesfbfb8e82017-02-14 10:33:41 -050033LOCAL_SRC_FILES := main_codecservice.cpp
Pawin Vongmasa9c47c972017-02-08 04:09:38 -080034LOCAL_SHARED_LIBRARIES := \
Steven Moreland55506402017-06-07 18:18:09 -070035 libmedia_omx \
Pawin Vongmasa9c47c972017-02-08 04:09:38 -080036 libbinder \
37 libutils \
38 liblog \
39 libbase \
Steven Moreland009578c2017-06-08 11:23:53 -070040 libavservices_minijail_vendor \
Pawin Vongmasa9c47c972017-02-08 04:09:38 -080041 libcutils \
42 libhwbinder \
Steven Morelandf2832c42017-02-21 13:41:39 -080043 libhidltransport \
Pawin Vongmasa04563aa2017-03-09 07:02:01 -080044 libstagefright_omx \
Pawin Vongmasafbe70ae2017-07-27 02:21:57 -070045 libstagefright_xmlparser \
Pawin Vongmasa0d3a5ed2017-02-22 03:19:35 -080046 android.hardware.media.omx@1.0 \
Pawin Vongmasa0d3a5ed2017-02-22 03:19:35 -080047 android.hidl.memory@1.0
Steven Moreland55506402017-06-07 18:18:09 -070048
Pawin Vongmasa46584182017-02-27 20:37:22 -080049LOCAL_MODULE := android.hardware.media.omx@1.0-service
50LOCAL_MODULE_RELATIVE_PATH := hw
Steven Moreland55506402017-06-07 18:18:09 -070051LOCAL_VENDOR_MODULE := true
Marco Nelissen1900e772016-02-02 16:12:16 -080052LOCAL_32_BIT_ONLY := true
Jiyong Park5f986102017-12-18 20:43:16 +090053# Since this is 32-bit-only module, only 32-bit version of the codecs are installed.
54# TODO(b/72343507): eliminate the need for manually adding .vendor suffix. This should be done
55# by the build system.
Josh Gaoebb21792018-01-24 16:37:16 -080056LOCAL_REQUIRED_MODULES += \
Jiyong Park5f986102017-12-18 20:43:16 +090057$(foreach codec,$(_software_codecs),\
58 $(eval _vendor_suffix := $(if $(BOARD_VNDK_VERSION),.vendor))\
59 $(codec)$(_vendor_suffix)\
60)
61_software_codecs :=
Pawin Vongmasa46584182017-02-27 20:37:22 -080062LOCAL_INIT_RC := android.hardware.media.omx@1.0-service.rc
Pawin Vongmasae7b89422017-11-16 19:33:39 -080063
Marco Nelissen1900e772016-02-02 16:12:16 -080064include $(BUILD_EXECUTABLE)
65
Chong Zhang8f915432018-09-05 11:17:17 -070066####################################################################
67
68# service executable
69include $(CLEAR_VARS)
70# seccomp is not required for coverage build.
71ifneq ($(NATIVE_COVERAGE),true)
Ivan Lozanofffc2282019-01-10 15:18:12 -080072LOCAL_REQUIRED_MODULES_arm := crash_dump.policy mediaswcodec.policy
Harish Mahendrakar350b3592018-12-07 17:03:55 -080073LOCAL_REQUIRED_MODULES_arm64 := crash_dump.policy mediaswcodec.policy
Ivan Lozanofffc2282019-01-10 15:18:12 -080074LOCAL_REQUIRED_MODULES_x86 := crash_dump.policy mediaswcodec.policy
Harish Mahendrakar350b3592018-12-07 17:03:55 -080075LOCAL_REQUIRED_MODULES_x86_64 := crash_dump.policy mediaswcodec.policy
Chong Zhang8f915432018-09-05 11:17:17 -070076endif
Harish Mahendrakar350b3592018-12-07 17:03:55 -080077
Chong Zhangea788f72018-10-12 14:44:24 -070078LOCAL_SRC_FILES := \
79 main_swcodecservice.cpp \
80 MediaCodecUpdateService.cpp \
81
82sanitizer_runtime_libraries := $(call normalize-path-list,$(addsuffix .so,\
83 $(ADDRESS_SANITIZER_RUNTIME_LIBRARY) \
84 $(UBSAN_RUNTIME_LIBRARY) \
85 $(TSAN_RUNTIME_LIBRARY) \
86 $(2ND_ADDRESS_SANITIZER_RUNTIME_LIBRARY) \
87 $(2ND_UBSAN_RUNTIME_LIBRARY) \
88 $(2ND_TSAN_RUNTIME_LIBRARY)))
89
Chong Zhang253c88d2018-10-16 17:31:14 -070090# $(info Sanitizer: $(sanitizer_runtime_libraries))
Chong Zhangea788f72018-10-12 14:44:24 -070091
92llndk_libraries := $(call normalize-path-list,$(addsuffix .so,\
93 $(LLNDK_LIBRARIES)))
94
Chong Zhang253c88d2018-10-16 17:31:14 -070095# $(info LLNDK: $(llndk_libraries))
Chong Zhangea788f72018-10-12 14:44:24 -070096
97LOCAL_CFLAGS := -DLINKED_LIBRARIES='"$(sanitizer_runtime_libraries):$(llndk_libraries)"'
98
Chong Zhang8f915432018-09-05 11:17:17 -070099LOCAL_SHARED_LIBRARIES := \
100 libavservices_minijail \
101 libbase \
102 libbinder \
103 libcutils \
104 libhidltransport \
105 libhwbinder \
106 liblog \
107 libmedia \
108 libutils \
109 libziparchive \
110
111LOCAL_MODULE := mediaswcodec
112LOCAL_INIT_RC := mediaswcodec.rc
Kostya Kortchinskyb2dec562018-12-06 08:07:28 -0800113LOCAL_SANITIZE := scudo
Harish Mahendrakar350b3592018-12-07 17:03:55 -0800114ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), x86_64 arm64))
115 LOCAL_MULTILIB := both
116 LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
117 LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)
118endif
Chong Zhang8f915432018-09-05 11:17:17 -0700119
Chong Zhangea788f72018-10-12 14:44:24 -0700120sanitizer_runtime_libraries :=
121llndk_libraries :=
122
Chong Zhang8f915432018-09-05 11:17:17 -0700123include $(BUILD_EXECUTABLE)
124
125####################################################################
126
Jeff Vander Stoep79234e42017-02-23 10:03:30 -0800127# service seccomp policy
bohue5f21fc2017-12-15 11:20:58 -0800128ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), x86 x86_64 arm arm64))
Jeff Vander Stoep79234e42017-02-23 10:03:30 -0800129include $(CLEAR_VARS)
130LOCAL_MODULE := mediacodec.policy
131LOCAL_MODULE_CLASS := ETC
132LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/seccomp_policy
133# mediacodec runs in 32-bit combatibility mode. For 64 bit architectures,
134# use the 32 bit policy
135ifdef TARGET_2ND_ARCH
Greg Hartman97df29e2018-02-08 20:16:32 -0800136 ifneq ($(TARGET_TRANSLATE_2ND_ARCH),true)
Jeff Vander Stoep79234e42017-02-23 10:03:30 -0800137 LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_2ND_ARCH).policy
Greg Hartman97df29e2018-02-08 20:16:32 -0800138 else
139 LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_ARCH).policy
140 endif
Jeff Vander Stoep79234e42017-02-23 10:03:30 -0800141else
142 LOCAL_SRC_FILES := seccomp_policy/mediacodec-$(TARGET_ARCH).policy
143endif
144include $(BUILD_PREBUILT)
145endif
146
Ivan Lozanofffc2282019-01-10 15:18:12 -0800147####################################################################
148
149# sw service seccomp policy
150ifeq ($(TARGET_ARCH), $(filter $(TARGET_ARCH), x86 x86_64 arm arm64))
151include $(CLEAR_VARS)
152LOCAL_MODULE := mediaswcodec.policy
153LOCAL_MODULE_CLASS := ETC
154LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/seccomp_policy
Harish Mahendrakar350b3592018-12-07 17:03:55 -0800155LOCAL_SRC_FILES := seccomp_policy/mediaswcodec-$(TARGET_ARCH).policy
Ivan Lozanofffc2282019-01-10 15:18:12 -0800156include $(BUILD_PREBUILT)
157endif
158
Jeff Vander Stoepc9ea2112016-02-17 10:52:20 -0800159include $(call all-makefiles-under, $(LOCAL_PATH))