From 376dde6a371e1978fdcfce17f0180ba5a1b9bafe Mon Sep 17 00:00:00 2001 From: Nicholas Guriev Date: Sun, 13 Jun 2021 10:48:41 +0300 Subject: [PATCH 1/2] New DESKTOP_APP_USE_MALLOCNG switch Do not require mallocng, allow one to use system allocator by glibc. --- external/mallocng/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/external/mallocng/CMakeLists.txt b/external/mallocng/CMakeLists.txt index c3d2422a..ffe6d8b8 100644 --- a/external/mallocng/CMakeLists.txt +++ b/external/mallocng/CMakeLists.txt @@ -7,6 +7,11 @@ add_library(external_mallocng INTERFACE IMPORTED GLOBAL) add_library(desktop-app::external_mallocng ALIAS external_mallocng) +set(DESKTOP_APP_USE_MALLOCNG ON CACHE BOOL "Prefer mallocng by musl or use system memory allocator?") +if (NOT DESKTOP_APP_USE_MALLOCNG) + return() +endif() + add_library(external_mallocng_bundled STATIC) init_target(external_mallocng_bundled "(external)") From fa4a1a98992fbe68524c1112d3ae9ba5ba070f3d Mon Sep 17 00:00:00 2001 From: Nicholas Guriev Date: Sun, 13 Jun 2021 10:51:33 +0300 Subject: [PATCH 2/2] New DESKTOP_APP_USE_RNNOISE switch RNNoise comes with an ML model trained using closed data. That's unacceptable in most Linux distributions due to legal issues. See discussion on Debian bug tracker: https://bugs.debian.org/980839#17 --- external/rnnoise/CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/external/rnnoise/CMakeLists.txt b/external/rnnoise/CMakeLists.txt index 3bba8169..56a9fc85 100644 --- a/external/rnnoise/CMakeLists.txt +++ b/external/rnnoise/CMakeLists.txt @@ -9,9 +9,18 @@ if (DESKTOP_APP_USE_PACKAGED) add_library(desktop-app::external_rnnoise ALIAS external_rnnoise) find_package(PkgConfig REQUIRED) - pkg_check_modules(RNNOISE REQUIRED IMPORTED_TARGET rnnoise) + if (NOT DEFINED DESKTOP_APP_USE_RNNOISE) + pkg_check_modules(RNNOISE IMPORTED_TARGET rnnoise) + elseif (DESKTOP_APP_USE_RNNOISE) + pkg_check_modules(RNNOISE REQUIRED IMPORTED_TARGET rnnoise) + endif() + set(DESKTOP_APP_USE_RNNOISE ${RNNOISE_FOUND} CACHE BOOL "Compile against RNNoise or not?") - target_link_libraries(external_rnnoise INTERFACE PkgConfig::RNNOISE) + if (RNNOISE_FOUND) + target_link_libraries(external_rnnoise INTERFACE PkgConfig::RNNOISE) + else() + target_compile_definitions(external_rnnoise INTERFACE USE_RNNOISE=0) + endif() else() add_library(external_rnnoise STATIC IMPORTED GLOBAL) add_library(desktop-app::external_rnnoise ALIAS external_rnnoise)