libraryMatchRank function

int libraryMatchRank(
  1. String basename,
  2. String canonicalName
)

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;
}