libraryMatchRank function
Ranks library name matches for deterministic selection.
Exact matches rank first, followed by versioned variants.
Implementation
int libraryMatchRank(String basename, String canonicalName) {
if (basename == canonicalName) return 0;
if (canonicalName.endsWith('.so') && basename.startsWith('$canonicalName.')) {
return 1;
}
if (canonicalName.endsWith('.dylib') && basename.endsWith('.dylib')) {
final stem = canonicalName.substring(
0,
canonicalName.length - '.dylib'.length,
);
if (basename.startsWith('$stem.')) return 1;
}
return 2;
}