From 3b115885f18e652ec2f361a12708a24a4cfbbc7e Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 16 May 2024 17:40:49 -0400 Subject: [PATCH] Use `haxelib libpath` when searching for NDLLs. We could fall back to `haxelib path` for very old versions of Haxelib, but most likely even people stuck on Haxe 3 have updated Haxelib. Also, `haxelib path` gave incorrect results in the first place, so falling back wouldn't do any good. --- src/lime/system/CFFI.hx | 42 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/lime/system/CFFI.hx b/src/lime/system/CFFI.hx index fed0f62d4..41e020074 100644 --- a/src/lime/system/CFFI.hx +++ b/src/lime/system/CFFI.hx @@ -207,39 +207,29 @@ class CFFI private static function __findHaxelib(library:String):String { #if (sys && !macro && !html5) + var proc:Process; try { - var proc = new Process("haxelib", ["path", library]); + proc = new Process("haxelib", ["libpath", library]); + if (proc == null) return ""; + } catch (e:Dynamic) {} - if (proc != null) - { - var stream = proc.stdout; + var stream = proc.stdout; + var path:String = ""; - try - { - while (true) - { - var s = stream.readLine(); + try + { + path = stream.readLine(); + __loaderTrace("Found haxelib " + path); + } catch (e:Dynamic) {} - if (s.substr(0, 1) != "-") - { - stream.close(); - proc.close(); - __loaderTrace("Found haxelib " + s); - return s; - } - } - } - catch (e:Dynamic) {} - - stream.close(); - proc.close(); - } - } - catch (e:Dynamic) {} - #end + stream.close(); + proc.close(); + return path; + #else return ""; + #end } private static function __loaderTrace(message:String)