| # Copyright 2020 The Chromium OS Authors. All rights reserved. |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| CROS_WORKON_PROJECT=( |
| "chromiumos/platform2" |
| "aosp/platform/frameworks/native" |
| "aosp/platform/system/core/base" |
| "aosp/platform/system/core/libcutils" |
| "aosp/platform/system/core/liblog" |
| "aosp/platform/system/core/libutils" |
| "aosp/platform/system/libfmq" |
| "aosp/platform/system/libhidl" |
| ) |
| CROS_WORKON_REPO=( |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| "${CROS_GIT_HOST_URL}" |
| ) |
| CROS_WORKON_LOCALNAME=( |
| "platform2" |
| "aosp/frameworks/native" |
| "aosp/system/core/base" |
| "aosp/system/core/libcutils" |
| "aosp/system/core/liblog" |
| "aosp/system/core/libutils" |
| "aosp/system/libfmq" |
| "aosp/system/libhidl" |
| ) |
| CROS_WORKON_DESTDIR=( |
| "${S}/platform2" |
| "${S}/platform2/aosp/frameworks/native" |
| "${S}/platform2/aosp/system/core/base" |
| "${S}/platform2/aosp/system/core/libcutils" |
| "${S}/platform2/aosp/system/core/liblog" |
| "${S}/platform2/aosp/system/core/libutils" |
| "${S}/platform2/aosp/system/libfmq" |
| "${S}/platform2/aosp/system/libhidl" |
| ) |
| CROS_WORKON_SUBTREE=( |
| "common-mk nnapi .gn" |
| "" |
| "" |
| "" |
| "" |
| "" |
| "" |
| "" |
| ) |
| |
| PLATFORM_SUBDIR="nnapi" |
| |
| inherit cros-workon platform epatch |
| |
| DESCRIPTION="Chrome OS support utils for Android Neural Network API" |
| HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks" |
| |
| LICENSE="BSD-Google Apache-2.0" |
| KEYWORDS="~*" |
| IUSE="" |
| |
| RDEPEND=" |
| " |
| |
| DEPEND=" |
| ${RDEPEND} |
| " |
| |
| PATCHES=( |
| "${FILESDIR}/00001-libbase-fix-stderr-logging.patch" |
| "${FILESDIR}/00002-libhidl-callstack.patch" |
| "${FILESDIR}/00003-libutils-callstack.patch" |
| "${FILESDIR}/00004-libfmq-page-size.patch" |
| "${FILESDIR}/00005-libcutils-ashmemtests.patch" |
| "${FILESDIR}/00006-libhidl-cast-interface.patch" |
| ) |
| |
| src_prepare() { |
| # The workdir is platform2/nnapi - we need to pop up one level in the stack |
| # to apply our patches. |
| pushd .. || exit |
| eapply -p2 "${FILESDIR}/00001-libbase-fix-stderr-logging.patch" |
| eapply -p2 "${FILESDIR}/00002-libhidl-callstack.patch" |
| eapply -p2 "${FILESDIR}/00003-libutils-callstack.patch" |
| eapply -p2 "${FILESDIR}/00004-libfmq-page-size.patch" |
| eapply -p2 "${FILESDIR}/00005-libcutils-ashmemtests.patch" |
| eapply -p2 "${FILESDIR}/00006-libhidl-cast-interface.patch" |
| popd || exit |
| |
| eapply_user |
| } |
| |
| src_install() { |
| einfo "Installing Android headers." |
| insinto /usr/include/aosp |
| doins -r includes/* |
| doins -r ../aosp/frameworks/native/libs/arect/include/* |
| doins -r ../aosp/frameworks/native/libs/nativewindow/include/* |
| doins -r ../aosp/system/core/base/include/* |
| doins -r ../aosp/system/core/libcutils/include/* |
| doins -r ../aosp/system/core/liblog/include/* |
| doins -r ../aosp/system/core/libutils/include/* |
| doins -r ../aosp/system/libfmq/include/* |
| doins -r ../aosp/system/libhidl/base/include/* |
| doins -r ../aosp/system/libhidl/libhidlmemory/include/* |
| # Selectively install one off headers |
| insinto /usr/include/aosp/android |
| doins ../aosp/frameworks/native/include/android/sharedmem.h |
| |
| einfo "Installing the shared library." |
| dolib.so "${OUT}/lib/libnnapi-support.so" |
| |
| insinto "/usr/$(get_libdir)/pkgconfig" |
| doins "${OUT}/obj/nnapi/libnnapi-support.pc" |
| } |
| |
| platform_pkg_test() { |
| local tests=( |
| base cutils fmq hidl hwbuf log utils |
| ) |
| |
| local test_target |
| for test_target in "${tests[@]}"; do |
| platform_test "run" "${OUT}/lib${test_target}_testrunner" |
| done |
| } |