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>
Mon, 10 Jan 2022 08:12:48 +0000 (09:12 +0100)
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 49f22ea5e277dd5c85eed58c8f8018c339ef4643..a76c3f25442c854c67df212e76dd17fb2edfc7cc 100644 (file)
@@ -652,6 +652,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 5f00efbeeb7317f3677b415d0b610fc24d936ad8..72100ad4c4889ce884bbca62b9bcb0058183b64d 100644 (file)
@@ -520,6 +520,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