Browse Source
[externals] Use patches for spirv-tools, cpp-jwt, and opus instead of forks (#3430)
[externals] Use patches for spirv-tools, cpp-jwt, and opus instead of forks (#3430)
oops Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3430 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>pull/3434/head
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
5 changed files with 220 additions and 7 deletions
-
25.patch/cpp-jwt/0001-fix-missing-decl.patch
-
28.patch/opus/0001-disable-clang-runtime-neon.patch
-
153.patch/opus/0002-no-install.patch
-
10cpmfile.json
-
11externals/cpmfile.json
@ -0,0 +1,25 @@ |
|||
From ce992811fe8eb5ea7ad37e5b255bfecb0c313928 Mon Sep 17 00:00:00 2001 |
|||
From: crueter <crueter@crueter.xyz> |
|||
Date: Sun, 7 Sep 2025 23:43:57 -0400 |
|||
Subject: [PATCH] [algorithm] fix missing declaration error |
|||
|
|||
Projects with restrictive error options won't compile without this |
|||
|
|||
Signed-off-by: crueter <crueter@crueter.xyz> |
|||
---
|
|||
include/jwt/algorithm.hpp | 2 ++ |
|||
1 file changed, 2 insertions(+) |
|||
|
|||
diff --git a/include/jwt/algorithm.hpp b/include/jwt/algorithm.hpp
|
|||
index 0e3b843..35347fe 100644
|
|||
--- a/include/jwt/algorithm.hpp
|
|||
+++ b/include/jwt/algorithm.hpp
|
|||
@@ -63,6 +63,8 @@ using sign_func_t = sign_result_t (*) (const jwt::string_view key,
|
|||
using verify_func_t = verify_result_t (*) (const jwt::string_view key, |
|||
const jwt::string_view head, |
|||
const jwt::string_view jwt_sign); |
|||
+
|
|||
+verify_result_t is_secret_a_public_key(const jwt::string_view secret);
|
|||
|
|||
namespace algo { |
|||
|
|||
@ -0,0 +1,28 @@ |
|||
From cc15da16e533b2a801934eab2dfeaf3c3949a1dc Mon Sep 17 00:00:00 2001 |
|||
From: crueter <crueter@eden-emu.dev> |
|||
Date: Mon, 8 Sep 2025 12:28:55 -0400 |
|||
Subject: [PATCH] [cmake] disable NEON runtime check on clang-cl |
|||
|
|||
When enabling runtime NEON checking for clang-cl, the linker would error out with `undefined symbol: __emit`, since clang doesn't actually implement this instruction. Therefore it makes sense to disable the runtime check by default on this platform, until either this is fixed or a clang-cl compatible intrinsic check is added (I don't have enough knowledge of MSVC to do this) |
|||
---
|
|||
cmake/OpusConfig.cmake | 7 ++++++- |
|||
1 file changed, 6 insertions(+), 1 deletion(-) |
|||
|
|||
diff --git a/cmake/OpusConfig.cmake b/cmake/OpusConfig.cmake
|
|||
index e9319fbad..d0f459e88 100644
|
|||
--- a/cmake/OpusConfig.cmake
|
|||
+++ b/cmake/OpusConfig.cmake
|
|||
@@ -71,7 +71,12 @@ elseif(OPUS_CPU_ARM AND NOT OPUS_DISABLE_INTRINSICS)
|
|||
opus_detect_neon(COMPILER_SUPPORT_NEON) |
|||
if(COMPILER_SUPPORT_NEON) |
|||
option(OPUS_USE_NEON "Option to enable NEON" ON) |
|||
- option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ON)
|
|||
+ if (MSVC AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|||
+ set(NEON_RUNTIME_CHECK_DEFAULT OFF)
|
|||
+ else()
|
|||
+ set(NEON_RUNTIME_CHECK_DEFAULT ON)
|
|||
+ endif()
|
|||
+ option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ${NEON_RUNTIME_CHECK_DEFAULT})
|
|||
option(OPUS_PRESUME_NEON "Assume target CPU has NEON support" OFF) |
|||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") |
|||
set(OPUS_PRESUME_NEON ON) |
|||
@ -0,0 +1,153 @@ |
|||
From bf455b67b4eaa446ffae5d25410b141b7b1b1082 Mon Sep 17 00:00:00 2001 |
|||
From: crueter <crueter@eden-emu.dev> |
|||
Date: Mon, 8 Sep 2025 12:08:20 -0400 |
|||
Subject: [PATCH] [cmake] `OPUS_INSTALL` option; only default install if root |
|||
project |
|||
|
|||
Signed-off-by: crueter <crueter@eden-emu.dev> |
|||
---
|
|||
CMakeLists.txt | 112 ++++++++++++++++++++++++++++--------------------- |
|||
1 file changed, 64 insertions(+), 48 deletions(-) |
|||
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|||
index fcf034b19..08b5e16f8 100644
|
|||
--- a/CMakeLists.txt
|
|||
+++ b/CMakeLists.txt
|
|||
@@ -4,6 +4,13 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|||
include(OpusPackageVersion) |
|||
get_package_version(PACKAGE_VERSION PROJECT_VERSION) |
|||
|
|||
+# root project detection
|
|||
+if(DEFINED PROJECT_NAME)
|
|||
+ set(root_project OFF)
|
|||
+else()
|
|||
+ set(root_project ON)
|
|||
+endif()
|
|||
+
|
|||
project(Opus LANGUAGES C VERSION ${PROJECT_VERSION}) |
|||
|
|||
include(OpusFunctions) |
|||
@@ -83,12 +90,16 @@ set(OPUS_DNN_FLOAT_DEBUG_HELP_STR "Run DNN computations as float for debugging p
|
|||
option(OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR} OFF) |
|||
add_feature_info(OPUS_DNN_FLOAT_DEBUG OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR}) |
|||
|
|||
+set(OPUS_INSTALL_HELP_STR "Install Opus targets")
|
|||
+option(OPUS_INSTALL ${OPUS_INSTALL_HELP_STR} ${root_project})
|
|||
+add_feature_info(OPUS_INSTALL OPUS_INSTALL ${OPUS_INSTALL_HELP_STR})
|
|||
+
|
|||
set(OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR "install pkg-config module.") |
|||
-option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ON)
|
|||
+option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
|
|||
add_feature_info(OPUS_INSTALL_PKG_CONFIG_MODULE OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR}) |
|||
|
|||
set(OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR "install CMake package config module.") |
|||
-option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ON)
|
|||
+option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
|
|||
add_feature_info(OPUS_INSTALL_CMAKE_CONFIG_MODULE OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR}) |
|||
|
|||
set(OPUS_DRED_HELP_STR "enable DRED.") |
|||
@@ -613,53 +624,58 @@ if(OPUS_BUILD_FRAMEWORK)
|
|||
OUTPUT_NAME Opus) |
|||
endif() |
|||
|
|||
-install(TARGETS opus
|
|||
- EXPORT OpusTargets
|
|||
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|||
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|||
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|||
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
|
|||
- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
|
|||
-
|
|||
-if(OPUS_INSTALL_PKG_CONFIG_MODULE)
|
|||
- set(prefix ${CMAKE_INSTALL_PREFIX})
|
|||
- set(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
|||
- set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
|||
- set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
|||
- set(VERSION ${PACKAGE_VERSION})
|
|||
- if(HAVE_LIBM)
|
|||
- set(LIBM "-lm")
|
|||
+if (OPUS_INSTALL)
|
|||
+ install(TARGETS opus
|
|||
+ EXPORT OpusTargets
|
|||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|||
+ FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
|
|||
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
|
|||
+
|
|||
+ if(OPUS_INSTALL_PKG_CONFIG_MODULE)
|
|||
+ set(prefix ${CMAKE_INSTALL_PREFIX})
|
|||
+ set(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
|||
+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
|||
+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
|||
+ set(VERSION ${PACKAGE_VERSION})
|
|||
+ if(HAVE_LIBM)
|
|||
+ set(LIBM "-lm")
|
|||
+ endif()
|
|||
+ configure_file(opus.pc.in opus.pc)
|
|||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
|
|||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|||
+ endif()
|
|||
+
|
|||
+ if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
|
|||
+ set(CPACK_GENERATOR TGZ)
|
|||
+ include(CPack)
|
|||
+ set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|||
+ install(EXPORT OpusTargets
|
|||
+ NAMESPACE Opus::
|
|||
+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
|||
+
|
|||
+ include(CMakePackageConfigHelpers)
|
|||
+
|
|||
+ set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
|||
+ configure_package_config_file(
|
|||
+ ${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
|
|||
+ OpusConfig.cmake
|
|||
+ INSTALL_DESTINATION
|
|||
+ ${CMAKE_INSTALL_PACKAGEDIR}
|
|||
+ PATH_VARS
|
|||
+ INCLUDE_INSTALL_DIR
|
|||
+ INSTALL_PREFIX
|
|||
+ ${CMAKE_INSTALL_PREFIX})
|
|||
+
|
|||
+ write_basic_package_version_file(OpusConfigVersion.cmake
|
|||
+ VERSION ${PROJECT_VERSION}
|
|||
+ COMPATIBILITY SameMajorVersion)
|
|||
+
|
|||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
|
|||
+ ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
|
|||
+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
|||
endif() |
|||
- configure_file(opus.pc.in opus.pc)
|
|||
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
|
|||
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|||
-endif()
|
|||
-
|
|||
-if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
|
|||
- set(CPACK_GENERATOR TGZ)
|
|||
- include(CPack)
|
|||
- set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
|||
- install(EXPORT OpusTargets
|
|||
- NAMESPACE Opus::
|
|||
- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
|||
-
|
|||
- include(CMakePackageConfigHelpers)
|
|||
-
|
|||
- set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
|||
- configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
|
|||
- OpusConfig.cmake
|
|||
- INSTALL_DESTINATION
|
|||
- ${CMAKE_INSTALL_PACKAGEDIR}
|
|||
- PATH_VARS
|
|||
- INCLUDE_INSTALL_DIR
|
|||
- INSTALL_PREFIX
|
|||
- ${CMAKE_INSTALL_PREFIX})
|
|||
- write_basic_package_version_file(OpusConfigVersion.cmake
|
|||
- VERSION ${PROJECT_VERSION}
|
|||
- COMPATIBILITY SameMajorVersion)
|
|||
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
|
|||
- ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
|
|||
- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
|||
endif() |
|||
|
|||
if(OPUS_BUILD_PROGRAMS) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue