From 18e73ed9f0d6699b1f38161e83946584b862d337 Mon Sep 17 00:00:00 2001 From: Debian Multimedia Maintainers Date: Wed, 23 Oct 2019 09:44:36 +0200 Subject: [PATCH] have Projucer link against the system libraries Origin: Debian Forwarded: no Last-Update: 2019-08-21 since the Debian package has removed 3rd-party libraries (jpeg, png, flag, ogg/vorbis), we must use against the system libraries. Last-Update: 2019-08-21 Gbp-Pq: Name debian_link_systemlibs.patch --- .../ProjectSaving/jucer_ProjectExport_Make.h | 3 ++ .../ProjectSaving/jucer_ProjectExporter.cpp | 33 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h index 2efff415..e981d428 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h @@ -692,6 +692,9 @@ private: StringArray result (linuxLibs); auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'"); +#ifdef DEBIAN_JUCERPROJECT_LIBS + libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'")); +#endif libraries.removeEmptyStrings(); for (auto& lib : libraries) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp index a1e08a5e..6e8cf631 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp @@ -558,6 +558,39 @@ StringArray ProjectExporter::getLinuxPackages (PackageDependencyType type) const if (isCurlEnabled (project) && ! isLoadCurlSymbolsLazilyEnabled (project)) packages.add ("libcurl"); + // on Debian, a number of 3rd-party libs have been stripped away, + // so we need to link to the system libraries + if (project.getEnabledModules().isModuleEnabled ("juce_core")) + { + packages.add ("zlib"); + } + if (project.getEnabledModules().isModuleEnabled ("juce_graphics")) + { + packages.add ("libjpeg"); + packages.add ("libpng"); + } + if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats")) + { + if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true)) + { + packages.add ("flac"); + } + if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true)) + { + packages.add ("vorbis"); + packages.add ("vorbisfile"); + packages.add ("vorbisenc"); + packages.add ("ogg"); + } + } + if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices")) + { + if(project.isConfigFlagEnabled ("JUCE_JACK", true)) + { + packages.add ("jack"); + } + } + if (isWebBrowserComponentEnabled (project) && type == PackageDependencyType::compile) { packages.add ("webkit2gtk-4.0"); -- 2.30.2