have Projucer link against the system libraries
authorDebian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Wed, 23 Oct 2019 07:44:36 +0000 (09:44 +0200)
committerIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Tue, 28 Jun 2022 06:25:52 +0000 (08:25 +0200)
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

extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp

index 2efff4150f3c6ab1d408acf1e0cc231723329b35..e981d42800437b1102e9fe50092cda4760d0f7f6 100644 (file)
@@ -692,6 +692,9 @@ private:
         StringArray result (linuxLibs);\r
 \r
         auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'");\r
+#ifdef DEBIAN_JUCERPROJECT_LIBS\r
+        libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'"));\r
+#endif\r
         libraries.removeEmptyStrings();\r
 \r
         for (auto& lib : libraries)\r
index a1e08a5ed31b224cfd2f70fdb0e9e08823e13dc1..6e8cf63138ac21276257e7d58ded5241eb960c99 100644 (file)
@@ -558,6 +558,39 @@ StringArray ProjectExporter::getLinuxPackages (PackageDependencyType type) const
     if (isCurlEnabled (project) && ! isLoadCurlSymbolsLazilyEnabled (project))\r
         packages.add ("libcurl");\r
 \r
+    // on Debian, a number of 3rd-party libs have been stripped away,\r
+    // so we need to link to the system libraries\r
+    if (project.getEnabledModules().isModuleEnabled ("juce_core"))\r
+    {\r
+        packages.add ("zlib");\r
+    }\r
+    if (project.getEnabledModules().isModuleEnabled ("juce_graphics"))\r
+    {\r
+        packages.add ("libjpeg");\r
+        packages.add ("libpng");\r
+    }\r
+    if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats"))\r
+    {\r
+        if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true))\r
+        {\r
+            packages.add ("flac");\r
+        }\r
+        if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true))\r
+        {\r
+            packages.add ("vorbis");\r
+            packages.add ("vorbisfile");\r
+            packages.add ("vorbisenc");\r
+            packages.add ("ogg");\r
+        }\r
+    }\r
+    if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices"))\r
+    {\r
+        if(project.isConfigFlagEnabled ("JUCE_JACK", true))\r
+        {\r
+            packages.add ("jack");\r
+        }\r
+    }\r
+\r
     if (isWebBrowserComponentEnabled (project) && type == PackageDependencyType::compile)\r
     {\r
         packages.add ("webkit2gtk-4.0");\r