blob: 2654b59d3a912a2934ff1736e715c9372d0ec1cf [file] [log] [blame] [edit]
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
EAPI=7
inherit cmake
DESCRIPTION="Perfetto-based OpenCL Kernel Profiler"
HOMEPAGE="https://github.com/rjodinchr/opencl-kernel-profiler"
CLKP_ARCHIVE_NAME="opencl-kernel-profiler-40e48f894bdce54866d2fb16d8cdb76c935f08df"
CLKP_ARCHIVE="${CLKP_ARCHIVE_NAME}.zip"
SRC_URI="gs://chromeos-localmirror/distfiles/${CLKP_ARCHIVE}"
CMAKE_USE_DIR="${WORKDIR}/${CLKP_ARCHIVE_NAME}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="*"
IUSE="+perfetto"
RDEPEND="
media-libs/clvk
dev-libs/opencl-icd-loader
"
DEPEND="
>=dev-util/opencl-headers-2023.02.06
>=chromeos-base/perfetto-31.0
${RDEPEND}
"
# Need to unpack the source archive.
BDEPEND="app-arch/unzip"
src_unpack() {
unpack "${CLKP_ARCHIVE}"
mkdir -p "${WORKDIR}/${P}"
}
src_configure() {
append-lfs-flags
# shellcheck disable=SC2034
local mycmakeargs=(
-DOPENCL_HEADER_PATH="${ESYSROOT}/usr/"
-DBACKEND=System
-DPERFETTO_SDK_PATH="${ESYSROOT}/usr/include/perfetto/"
-DPERFETTO_LIBRARY=perfetto_sdk
)
cmake_src_configure
}
src_install() {
local OPENCL_DIR="/usr/local/opencl"
dodir "${OPENCL_DIR}"
exeinto "${OPENCL_DIR}"
doexe "${BUILD_DIR}/lib${PN}.so"
exeinto "/usr/local/bin"
doexe "${CMAKE_USE_DIR}/chromeos-utils/${PN}.sh"
dosym "/usr/local/bin/${PN}.sh" "/usr/local/bin/clkp.sh"
}