blob: 15f5f5a64bccbb375670380df29b4f25881818cd [file] [log] [blame]
# 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
}