mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
WebBrowserComponent: Linux: Add support for libwebkit2gtk-4.1
This commit is contained in:
parent
b5cbdfd980
commit
2516ad808e
2 changed files with 36 additions and 6 deletions
|
|
@ -44,7 +44,14 @@ or
|
||||||
- libxrender-dev (unless `JUCE_USE_XRENDER=0`)
|
- libxrender-dev (unless `JUCE_USE_XRENDER=0`)
|
||||||
|
|
||||||
#### juce_gui_extra
|
#### juce_gui_extra
|
||||||
- libwebkit2gtk-4.0-dev (unless `JUCE_WEB_BROWSER=0`)
|
- libwebkit2gtk-4.1-dev (unless `JUCE_WEB_BROWSER=0`)
|
||||||
|
|
||||||
|
On older systems, where 4.1 is not available, you can also use
|
||||||
|
|
||||||
|
- libwebkit2gtk-4.0-dev
|
||||||
|
|
||||||
|
Compiled JUCE applications will dynamically load whichever library version is
|
||||||
|
available during runtime.
|
||||||
|
|
||||||
#### juce_opengl
|
#### juce_opengl
|
||||||
- libglu1-mesa-dev
|
- libglu1-mesa-dev
|
||||||
|
|
@ -58,5 +65,5 @@ The full command is as follows:
|
||||||
libcurl4-openssl-dev \
|
libcurl4-openssl-dev \
|
||||||
libfreetype6-dev \
|
libfreetype6-dev \
|
||||||
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
|
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
|
||||||
libwebkit2gtk-4.0-dev \
|
libwebkit2gtk-4.1-dev \
|
||||||
libglu1-mesa-dev mesa-common-dev
|
libglu1-mesa-dev mesa-common-dev
|
||||||
|
|
|
||||||
|
|
@ -373,14 +373,37 @@ private:
|
||||||
makeSymbolBinding (juce_g_free, "g_free"));
|
makeSymbolBinding (juce_g_free, "g_free"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct WebKitAndDependencyLibraryNames
|
||||||
|
{
|
||||||
|
const char* webkitLib;
|
||||||
|
const char* jsLib;
|
||||||
|
const char* soupLib;
|
||||||
|
};
|
||||||
|
|
||||||
|
bool openWebKitAndDependencyLibraries (const WebKitAndDependencyLibraryNames& names)
|
||||||
|
{
|
||||||
|
if (webkitLib.open (names.webkitLib) && jsLib.open (names.jsLib) && soupLib.open (names.soupLib))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
for (auto* l : { &webkitLib, &jsLib, &soupLib })
|
||||||
|
l->close();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
DynamicLibrary webkitLib, jsLib, soupLib;
|
||||||
|
|
||||||
DynamicLibrary gtkLib { "libgtk-3.so" },
|
DynamicLibrary gtkLib { "libgtk-3.so" },
|
||||||
webkitLib { "libwebkit2gtk-4.0.so" },
|
|
||||||
jsLib { "libjavascriptcoregtk-4.0.so" },
|
|
||||||
soupLib { "libsoup-2.4.so" },
|
|
||||||
glib { "libglib-2.0.so" };
|
glib { "libglib-2.0.so" };
|
||||||
|
|
||||||
const bool webKitIsAvailable = loadWebkitSymbols()
|
const bool webKitIsAvailable = ( openWebKitAndDependencyLibraries ({ "libwebkit2gtk-4.1.so",
|
||||||
|
"libjavascriptcoregtk-4.1.so",
|
||||||
|
"libsoup-3.0.so" })
|
||||||
|
|| openWebKitAndDependencyLibraries ({ "libwebkit2gtk-4.0.so",
|
||||||
|
"libjavascriptcoregtk-4.0.so",
|
||||||
|
"libsoup-2.4.so" }))
|
||||||
|
&& loadWebkitSymbols()
|
||||||
&& loadGtkSymbols()
|
&& loadGtkSymbols()
|
||||||
&& loadJsLibSymbols()
|
&& loadJsLibSymbols()
|
||||||
&& loadSoupLibSymbols()
|
&& loadSoupLibSymbols()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue