check some system lib deps on Linux and force user to provide their own liblua54 from package managers
This commit is contained in:
parent
2187602dc1
commit
ab355d4693
Binary file not shown.
|
@ -36,7 +36,30 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (OSTC.IsUnixHost)
|
||||
{
|
||||
// for Unix, skip everything else and just wire up the event handler
|
||||
// for Unix, we'll check a few system libraries and wire up the event handler
|
||||
|
||||
foreach (var soToLoad in new[]
|
||||
{
|
||||
"libspeexdsp.so.1", // for old BSNES and melonDS (TODO: should we remove this dependency? old BSNES will be axed soon enough, BlipBuffer could probably work well enough for melonDS?)
|
||||
"liblua54.so", // lua console (TODO: should we rather just disable lua console if this cannot be found?)
|
||||
// there are some other dependencies, but mono will provide them anyways
|
||||
})
|
||||
{
|
||||
var p = OSTC.LinkedLibManager.LoadOrZero(soToLoad);
|
||||
if (p != IntPtr.Zero)
|
||||
{
|
||||
OSTC.LinkedLibManager.FreeByPtr(p);
|
||||
continue;
|
||||
}
|
||||
// else it's missing or corrupted
|
||||
using (ExceptionBox box = new($"EmuHawk needs {soToLoad} in order to run! You will need to install it via your distro's package manager. (EmuHawk will now close.) Internal error message: {OSTC.LinkedLibManager.GetErrorMessage()}"))
|
||||
{
|
||||
box.ShowDialog();
|
||||
}
|
||||
Process.GetCurrentProcess().Kill();
|
||||
return;
|
||||
}
|
||||
|
||||
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue