Skip to content

Commit

Permalink
[WIP] Enable opencl on ffmpeg5-6 with DSM >= 7 (#6166)
Browse files Browse the repository at this point in the history
* opencl-clang: Build using version LLVM 14.x needed for IGC

* llvm-140: Include relevant IGC necessary patches

* SPIRV-LLVM-Translator-140: update digests - TODO: move to git hash

* ocl: Use specific git hash as no -140 release available

* SPIRV-LLVM-Translator-140.src: Newly available release of -140 sources

* ocl: Disable INSTALL_TOOLCHAIN_ONLY for libopencl-clang.so.14

* IGC: Configure now wokr sucessfully

* IGC: Requires building lld and sources to libunwind from LLVM

* IGC: Requires intel-vc-intrinsics sources

* vc-intrinsics: Update to v0.19 and disable extract hash commit

* vc-intrinsics: Update patch to remove unecessary include

* vc-intrinsics: Move from in-tree to external to llvm build

* vc-intrinsics: Remove llvm in-tree source files

* intel-opencl-clang-140: Include base PLIST (needs cleaning-up)

* libdrm: Update from version 2.4.121 to 2.4.122

* intel-gmmlib: Update from version 22.3.20 to 22.4.1

* libva: Update from version 2.21.0 to 2.22.0

* level-zero: Update from version 1.17.6 to 1.17.19

* intel-media-driver-latest: Update to 24Q2 version 24.1.5 to 24.2.5

* intel-opencl-clang-140: Only libopencl-clang.so.14 is required

* intel-opencl-clang: Enable shared libraries

It hapens that later-on IGC builds-up a compile-time tool called
CMCLTranslatorTool which isn't built for 'NATIVE' and rather
requires enforcing loading libLLVMGenXIntrinsics.so from
intel-vc-intrinsincs.  In turn, when built "static" (default mode),
libLLVMGenXIntrinsics.so ends-up containing llvm libraries as well,
which in turns CMCLTranslatorTool also contain, leading to a duplicate
existance of similar calls, thus segfaulting core-dump.

Note that loading build resulting libraries for this CMCLTranslatorTool
really is an ugly hack that can only work for x86_64 built on x86_64
with compatible C libraries.

* intel-opencl-clang-140: Include LLVM and clang shared libraries

* opencl-clang-140: Include in-tree build of vc-intrinsics

* SPIRV-Tools: Removing unecessary comments and options

* intel-opencl-clang-140: include vc-intrinsics to PLIST + comments

* intel-opencl-clang-140: Remove unused PREFERRED_LLVM_VERSION var

* intel-opencl-clang-140: Remove duplicate -DLLVM_ENABLE_ZLIB

* IGC: Configure successful

* IGC: configure 100%, build 93%, sigh, getting there

* IGC: It finally builds!  Now let's clean this up.

* IGC: Clean-up makefile

* llvm-project-140.src: Include LLVM 14.0.5 with ocl + IGC patches

* SPIRV-LLVM-Translator: Update from version 14.0.2 to 14.0.3

* llvm-14.0-build: Add a corresponding LLVM 14.0.5 native build

* ffmpeg6: Enable OpenCL (and vulkan being autodetected)

* intel-opencl-clang-140: Add vc-intrinsics library

* intel-opencl-clang-140.src: Add sources only (to be merge with build later)

* level-zero: Remove as duplicate of intel-level-zero

* intel-opencl-clang-140: Use llvm-projet sources & Khronos headers

* Khronos*: Rename all khronos sources using 'Khronos-*' prefix

* clang|lld|llvm|libunwind: Migrate to using llvm-project sources

* Khronos-SPIRV-Headers.src: Now only using cmake installed version

* SPIRV-Tools: Update from version 2024.1 to 2024.2

* intel-opencl-clang-140: Remove PLIST-llvm as of no use

* intel-vc-intrinsics.src: No PLIST needed as source install only

* intel-graphics-compiler: Clean-ups and re-organize info

* intel-compute-runtime: First iteration, configure's ok, build fails

* IGC: Update to v1.0.17384.12 + other enablements

- Update from 1.0.17384.11 to 1.0.17384.12
- Enable -DINSTALL_GENX_IR='ON'
- Enable -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR='ON'

* intel-compute-runtime: Small updates + cmake debug mode ready

* level-zero: Update from 1.17.19 to 1.17.28

* IGC: Multiple changes
- Remove external dependencies (zlib, ncursesw, libxml2)
- Remove commented shared library options (fails to build)
- Enforce SPIRV-Headers source directory path
- Added extra comments for using SPIRV-Tools as source

* intel-compute-runtime: Bump to 24.31.30508.7 and fix IGC_DIR

* intel-compute-runtime: Fix installation of OpenCL/vendors/intel.icd

* intel-graphics-compiler + intel-compute-runtime: Set min DSM 7.1

* ocl-icd: Install generc OpenCL loader (version 2.3.2)

* intel-compute-runtime: Comments clean-up

* ffmpeg6: Revert to libmfx and enable OpenCL

* synocli-videodriver: Prepare division of videodrv from ffmpeg

* clinfo: Include utility to get OpenCL information (v3.0.23.01.25)

* ocl-icd: Ensure OpenCL/layers|vendors is under INSTALL_PREFIX

* intel-compute-runtime: Use DESTDIR for OpenCL/vendors/intel.icd

* IGC: Migrate to using pre-built native/llvm-14.0

* libvpl-tools: Update from version 1.0.0 to 1.2.0

* libvpl: Update from version 2.11.0 to 2.13.0

* synocli-videodriver: Fixes for DSM6 build

* synocli-videodriver: Build fixes to ocl-icd and intel-libvpl-tools

* ffmpeg5-6: Migrate to using spksrc.videodriver.mk re-using drivers

* github-action: synocli-videodriver is now built first for ffmpeg56

* github-action: Fix typo that still refered to python

* ffmpeg5-6: Fix build using spksrc.videodriver.mk

* ffmpeg56: Add SPK_DEPENDS and adjust changelog

* vc-intrinsics: Update from version 0.19.0 to 0.20.0

* intel-opencl-clang-140: Align with IGC for static build

Also remove vc-intrinsics build fix as issue now solved with
new version 0.20.0 with ref. PR
intel/vc-intrinsics#130

* intel-level-zero: Update from 1.17.28 to 1.17.42

* intel-gmmlib-latest: Update from 22.4.1 to 22.5.2

* intel-graphics-compiler: Update from 1.0.17384.12 to 1.0.17537.20

* cmake: Disable developer warnings (equivalent of -Wno-dev)

* extract.mk: Allow extra parameter to tar extract commands

* Add a new GCC_NO_DEBUG_INFO disabling symbols at build-time

This remove debug symbols at build time reducing binary size
significantly + reducing total compile+link time.

Also, when set this enforces a "clean" of the current source
directory (i.e. build for cmake/meson/ninja) to drop post-build
total storage space used.

It is hoped that it will allow compiling intel-graphics-compiler
(IGC) using github-action which currently uses way to much space.

* intel-compute-runtime: Do not enable GCC_NO_DEBUG_INFO has failing

* intel-mediasdk: Not enable GCC_NO_DEBUG_INFO for ffmpeg --enable-mfx

* ffmpeg.mk: Add new ffmpeg build functionality

* videodriver.mk: Fix

* tvheadend: Update to new version & migrate to new ffmpeg.mk

* ffmpeg56: Update changelog on to using new synocli-videodriver

* comskip: Migrate to using new ffmpeg.mk

* chromaprint: Migrate to ffmpeg6

* github-action: Fix for new ffmpeg.mk
  • Loading branch information
th0ma7 authored Sep 22, 2024
1 parent ef647d7 commit 0a4d096
Show file tree
Hide file tree
Showing 117 changed files with 5,032 additions and 293 deletions.
7 changes: 4 additions & 3 deletions .github/actions/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
# - The build output is structured into log groups by package.
# - As the disk space in the workflow environment is limitted, we clean the
# work folder of each package after build. At 2020.06 this limit is 14GB.
# - ffmpeg5 and ffmpeg6 are not cleaned to be available for dependents.
# - Therefore ffmpeg5 and ffmpeg6 are built first if triggered by its
# - synocli-videodriver and ffmpeg5-6 are not cleaned to be available for dependents.
# - Therefore synocli-videodriver is built first if triggered by ffmpeg5-6
# - Therefore ffmpeg5 and ffmpeg6 are built second if triggered by its
# own or a dependent (see prepare.sh).

set -o pipefail
Expand Down Expand Up @@ -59,7 +60,7 @@ if [ -n "$API_KEY" ] && [ "$PUBLISH" == "true" ]; then
fi

# Build
PACKAGES_TO_KEEP="ffmpeg5 ffmpeg6 python310 python311"
PACKAGES_TO_KEEP="synocli-videodriver ffmpeg5 ffmpeg6 python310 python311"
for package in ${build_packages}
do
echo "::group:: ---- build ${package}"
Expand Down
25 changes: 20 additions & 5 deletions .github/actions/prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
#
# Functions:
# - Evaluate all packages to build depending on files defined in ${GH_FILES}.
# - python310, python311, ffmpeg5 and ffmpeg6 are moved to head of packages to build first if triggered by its own or a dependent.
# - synocli-videodriver is moved to head of packages to build first if triggered by its ffmpeg5-6
# - python310-311 and ffmpeg5-6 are moved to head of remaining packages to build when triggered by its own or a dependent.
# - Referenced native and cross packages of the packages to build are added to the download list.

set -o pipefail
Expand Down Expand Up @@ -53,12 +54,12 @@ fi
# remove duplicate packages
packages=$(printf %s "${SPK_TO_BUILD}" | tr ' ' '\n' | sort -u | tr '\n' ' ')

# for ffmpeg v4-6 find all packages that depend on them
# for ffmpeg v5-6 find all packages that depend on them
for i in {5..6}; do
ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_VERSION = ${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')
ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_PACKAGE = ffmpeg${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')

# If packages contain a package that depends on ffmpeg (or is ffmpeg), then ensure
# relevant ffmpeg5|ffmpeg6 is first in list
# If packages contain a package that depends on ffmpeg (or is ffmpeg),
# then ensure relevant ffmpeg5|ffmpeg6 is first in list
for package in ${packages}
do
if [ "$(echo ffmpeg${i} ${ffmpeg_dependent_packages} | grep -ow ${package})" != "" ]; then
Expand All @@ -69,6 +70,20 @@ for i in {5..6}; do
done
done

# for synocli-videodriver that ffmpeg v5-6 depends on
videodrv_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "spksrc.videodriver.mk" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')

# If packages contain a package that depends on spksrc.videodriver.mk,
# then ensure synocli-videodriver spk is first in list
for package in ${packages}
do
if [ "$(echo synocli-videodriver ${videodrv_dependent_packages} | grep -ow ${package})" != "" ]; then
packages_without_videodrv=$(echo "${packages}" | tr ' ' '\n' | grep -v "synocli-videodriver" | tr '\n' ' ')
packages="synocli-videodriver ${packages_without_videodrv}"
break
fi
done

# for python (310, 311) find all packages that depend on them
for py in python310 python311; do
python_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "PYTHON_PACKAGE = ${py}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ')
Expand Down
19 changes: 19 additions & 0 deletions cross/Khronos-OpenCL-Headers/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
PKG_NAME = OpenCL-Headers
PKG_VERS = 2024.05.08
PKG_EXT = tar.gz
PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT)
PKG_DIST_FILE = khronos-opencl-headers-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

HOMEPAGE = https://github.com/KhronosGroup/SPIRV-Headers
COMMENT = Machine-readable files for the SPIR-V Registry
LICENSE = Copyright (c) 2015-2024 The Khronos Group Inc.

POST_EXTRACT_TARGET = SPIRV-Headers_post_extract_target

include ../../mk/spksrc.cross-cmake.mk

.PHONY: SPIRV-Headers_post_extract_target
SPIRV-Headers_post_extract_target:
@cd $(WORK_DIR) && ln -s $(PKG_DIR) $(PKG_NAME)
3 changes: 3 additions & 0 deletions cross/Khronos-OpenCL-Headers/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
khronos-opencl-headers-2024.05.08.tar.gz SHA1 188ef91da8210d120271a9b74b8b8858e897d9b8
khronos-opencl-headers-2024.05.08.tar.gz SHA256 3c3dd236d35f4960028f4f58ce8d963fb63f3d50251d1e9854b76f1caab9a309
khronos-opencl-headers-2024.05.08.tar.gz MD5 56d28bdc7957be155aa81114ce504794
18 changes: 18 additions & 0 deletions cross/Khronos-SPIRV-Headers/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
PKG_NAME = SPIRV-Headers
PKG_VERS = 1.3.283.0
PKG_EXT = tar.gz
PKG_DIST_NAME = vulkan-sdk-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags
PKG_DIR = $(PKG_NAME)-vulkan-sdk-$(PKG_VERS)

HOMEPAGE = https://github.com/KhronosGroup/SPIRV-Headers
COMMENT = Machine-readable files for the SPIR-V Registry
LICENSE = Copyright (c) 2015-2024 The Khronos Group Inc.

POST_EXTRACT_TARGET = SPIRV-Headers_post_extract_target

include ../../mk/spksrc.cross-cmake.mk

.PHONY: SPIRV-Headers_post_extract_target
SPIRV-Headers_post_extract_target:
@cd $(WORK_DIR) && ln -s $(PKG_DIR) $(PKG_NAME)
3 changes: 3 additions & 0 deletions cross/Khronos-SPIRV-Headers/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
vulkan-sdk-1.3.283.0.tar.gz SHA1 b532efb95ddbcb28128897992a390767c6a93772
vulkan-sdk-1.3.283.0.tar.gz SHA256 a68a25996268841073c01514df7bab8f64e2db1945944b45087e5c40eed12cb9
vulkan-sdk-1.3.283.0.tar.gz MD5 5f258f65b4526c053d9ca3cddc94e71b
39 changes: 39 additions & 0 deletions cross/Khronos-SPIRV-LLVM-Translator-140.src/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
PKG_NAME = SPIRV-LLVM-Translator
PKG_LLVM_MAJ = 14
PKG_LLVM_MIN = 0.3
PKG_EXT = tar.gz
PKG_DIST_NAME = v$(PKG_LLVM_MAJ).$(PKG_LLVM_MIN).$(PKG_EXT)
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_LLVM_MAJ).$(PKG_LLVM_MIN).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags
PKG_DIR = $(PKG_NAME)-$(PKG_LLVM_MAJ).$(PKG_LLVM_MIN)

# llvm_release_140 branch is still receiving updates
# using latest gis hash to ensure replicable builds
#PKG_GIT_HASH = f23845001443049a9f1b0472b9a6f491aee46e3e
#PKG_DIST_NAME = $(PKG_GIT_HASH).$(PKG_EXT)
#PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT)
#PKG_DIST_SITE = https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive
#PKG_DIR = $(PKG_NAME)-$(PKG_GIT_HASH)

# use below for direct llvm_release_140 branch
#PKG_VERS = $(PKG_LLVM_MAJ)0
#PKG_GIT_BRANCH = llvm_release_$(PKG_VERS)
#PKG_DIST_NAME = $(PKG_GIT_BRANCH).$(PKG_EXT)
#PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
#PKG_DIST_SITE = https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive
#PKG_DIR = $(PKG_NAME)-$(PKG_GIT_BRANCH)

HOMEPAGE = https://github.com/KhronosGroup/SPIRV-LLVM-Translator
COMMENT = Library and tool for translation between LLVM IR and SPIR-V.
LICENSE = LLVM Release License

POST_EXTRACT_TARGET = llvm_post_extract_target
CONFIGURE_TARGET = nop
COMPILE_TARGET = nop
INSTALL_TARGET = nop

include ../../mk/spksrc.cross-cmake.mk

.PHONY: llvm_post_extract_target
llvm_post_extract_target:
@cd $(WORK_DIR) && ln -s $(PKG_DIR) $(PKG_NAME)
3 changes: 3 additions & 0 deletions cross/Khronos-SPIRV-LLVM-Translator-140.src/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SPIRV-LLVM-Translator-14.0.3.tar.gz SHA1 7fb0a38086390b130ff3981d54a1bc89d3e4393d
SPIRV-LLVM-Translator-14.0.3.tar.gz SHA256 c225f6929e5433c303c0f8f63a8e201322363c6817ebb1368ddb068279131ba7
SPIRV-LLVM-Translator-14.0.3.tar.gz MD5 08f17fc6b891931d41049ad2bb2a7f51
31 changes: 31 additions & 0 deletions cross/Khronos-SPIRV-Tools/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
PKG_NAME = SPIRV-Tools
PKG_VERS = 2024.2
PKG_EXT = tar.gz
PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT)
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

HOMEPAGE = https://github.com/KhronosGroup/SPIRV-Tools
COMMENT = The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.
LICENSE = Apache-2.0 license

BUILD_DEPENDS = cross/Khronos-SPIRV-Headers

POST_EXTRACT_TARGET = SPIRV-Tools_post_extract_target

CMAKE_ARGS += -DSPIRV_WERROR=OFF
CMAKE_ARGS += -DSPIRV_TOOLS_BUILD_STATIC=OFF
CMAKE_ARGS += -DSPIRV-Headers_SOURCE_DIR=$(WORK_DIR)/SPIRV-Headers

include ../../mk/spksrc.cross-cmake.mk

# Using gcc-8 we must use: make LDLIBS=-lstdc++fs
# or by adding the following
ifeq ($(call version_le, $(TC_GCC), 9),1)
CMAKE_ARGS += -DCMAKE_CXX_STANDARD_LIBRARIES=-lstdc++fs
endif

.PHONY: SPIRV-Tools_post_extract_target
SPIRV-Tools_post_extract_target:
@cd $(WORK_DIR) && ln -s $(PKG_DIR) $(PKG_NAME)
17 changes: 17 additions & 0 deletions cross/Khronos-SPIRV-Tools/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
bin:bin/spirv-as
bin:bin/spirv-cfg
bin:bin/spirv-dis
rsc:bin/spirv-lesspipe.sh
bin:bin/spirv-link
bin:bin/spirv-lint
bin:bin/spirv-objdump
bin:bin/spirv-opt
bin:bin/spirv-reduce
bin:bin/spirv-val
lib:lib/libSPIRV-Tools-diff.so
lib:lib/libSPIRV-Tools-link.so
lib:lib/libSPIRV-Tools-lint.so
lib:lib/libSPIRV-Tools-opt.so
lib:lib/libSPIRV-Tools-reduce.so
lib:lib/libSPIRV-Tools-shared.so
lib:lib/libSPIRV-Tools.so
3 changes: 3 additions & 0 deletions cross/Khronos-SPIRV-Tools/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SPIRV-Tools-2024.2.tar.gz SHA1 1e838970271113e0191a37e6d1ab929de61d605b
SPIRV-Tools-2024.2.tar.gz SHA256 58c5f4e6961c3d4936f7dbcd7f0b495c830b96972ee731452eaa9ade873f0095
SPIRV-Tools-2024.2.tar.gz MD5 bde778ea43ee00f81ced9e441d69a0c9
53 changes: 36 additions & 17 deletions cross/chromaprint/Makefile
Original file line number Diff line number Diff line change
@@ -1,34 +1,53 @@
PKG_NAME = chromaprint
PKG_VERS = 1.5.2
PKG_VERS = 1.5.1
PKG_EXT = tar.gz
PKG_GIT_HASH = aa67c95b9e486884a6d3ee8b0c91207d8c2b0551
PKG_DIST_NAME = $(PKG_GIT_HASH).$(PKG_EXT)
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/acoustid/chromaprint/archive
PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT)
PKG_DIR = $(PKG_NAME)-$(PKG_GIT_HASH)
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)

#PKG_GIT_HASH = aa67c95b9e486884a6d3ee8b0c91207d8c2b0551
#PKG_DIST_NAME = $(PKG_GIT_HASH).$(PKG_EXT)
#PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT)
#PKG_DIR = $(PKG_NAME)-$(PKG_GIT_HASH)

HOMEPAGE = https://acoustid.org/chromaprint
COMMENT = Chromaprint is the core component of the AcoustID project. It\'s a client-side library that implements a custom algorithm for extracting fingerprints from any audio source.
LICENSE = LGPL2.1+

OPTIONAL_DEPENDS = cross/ffmpeg$(FFMPEG_VERSION)
OPTIONAL_DEPENDS = cross/ffmpeg6

# compiler too old
UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS)

ifneq ($(wildcard $(FFMPEG_DIR)),)
CMAKE_RPATH = /var/packages/ffmpeg$(subst 4,,$(FFMPEG_VERSION))/target/lib
CMAKE_ARGS += -DBUILD_TOOLS=ON
CMAKE_ARGS += -DBUILD_TESTS=OFF
CMAKE_ARGS += -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations"

ifneq ($(wildcard $(FFMPEG_PACKAGE_ROOT)),)
CMAKE_ARGS += -DCMAKE_INSTALL_RPATH=$(FFMPEG_PREFIX)/lib

# Location of FFMPEG Headers
CMAKE_ARGS += -DFFMPEG_LIBAVCODEC_FFT_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBAVCODEC_FFT_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libavcodec.so
CMAKE_ARGS += -DFFMPEG_LIBAVCODEC_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBAVCODEC_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libavcodec.so
CMAKE_ARGS += -DFFMPEG_LIBAVDEVICE_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBAVDEVICE_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libavdevice.so
CMAKE_ARGS += -DFFMPEG_LIBAVFORMAT_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBAVFORMAT_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libavformat.so
#CMAKE_ARGS += -DFFMPEG_LIBAVRESAMPLE_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
#CMAKE_ARGS += -DFFMPEG_LIBAVRESAMPLE_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libswresample.so
CMAKE_ARGS += -DFFMPEG_LIBAVUTIL_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBAVUTIL_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libavutil.so
CMAKE_ARGS += -DFFMPEG_LIBSWRESAMPLE_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBSWRESAMPLE_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libswresample.so
CMAKE_ARGS += -DFFMPEG_LIBSWSCALE_INCLUDE_DIRS:PATH=$(FFMPEG_STAGING_PREFIX)/include
CMAKE_ARGS += -DFFMPEG_LIBSWSCALE_LIBRARIES:FILEPATH=$(FFMPEG_STAGING_PREFIX)/lib/libswscale.so

else
DEPENDS = cross/ffmpeg$(FFMPEG_VERSION)
DEPENDS = cross/ffmpeg6
CMAKE_RPATH =
endif

CMAKE_BUILD_DIR = $(WORK_DIR)/$(PKG_DIR)
CMAKE_USE_TOOLCHAIN_FILE = OFF

include ../../mk/spksrc.cross-cmake.mk

CMAKE_ARGS += -DBUILD_TOOLS=ON
CMAKE_ARGS += -DBUILD_TESTS=OFF
CMAKE_ARGS += -DCMAKE_INSTALL_RPATH=$(CMAKE_RPATH)
CMAKE_ARGS += -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations"
6 changes: 3 additions & 3 deletions cross/chromaprint/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
chromaprint-gitaa67c95b9e486884a6d3ee8b0c91207d8c2b0551.tar.gz SHA1 3e85f4bd134263b1699b7e7412b1e089865185d7
chromaprint-gitaa67c95b9e486884a6d3ee8b0c91207d8c2b0551.tar.gz SHA256 88e13f065e31d59d102339d956d0e2f99b125386e4d58ae7de6f09b90104b90f
chromaprint-gitaa67c95b9e486884a6d3ee8b0c91207d8c2b0551.tar.gz MD5 80d7d474a585c186a6a3285465bfef1e
chromaprint-1.5.1.tar.gz SHA1 f54d8b58ff514ab65851d524237b38d8965cba57
chromaprint-1.5.1.tar.gz SHA256 a1aad8fa3b8b18b78d3755b3767faff9abb67242e01b478ec9a64e190f335e1c
chromaprint-1.5.1.tar.gz MD5 54e71f86bcf1d34989db639044ba9628
Loading

0 comments on commit 0a4d096

Please sign in to comment.