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>
Thu, 23 Dec 2021 09:05:10 +0000 (10:05 +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 58dcdb7d676af650c811ab51a37d3959212a20e1..a59cf6c0d96bcff1af56ab666df196ce21115a36 100644 (file)
@@ -651,6 +651,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 e1ec4dc0f5c2a01cd66c5bfd9e92695217b55872..fa4c8402622170f86717d5fd415eed5ed64fa7e0 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