static final MethodHandle {{ handle_name }} = LINKER.downcallHandle(
LIB.find("{{ ffi_name }}")
.or(() -> LIB.find("_{{ ffi_name }}"))
// Try underscore-prefixed variant for macOS
.or(() -> LINKER.defaultLookup().find("{{ ffi_name }}"))
// Fallback to default lookup
.or(() -> LINKER.defaultLookup().find("_{{ ffi_name }}"))
// Fallback underscore variant
.orElseThrow(() -> new ExceptionInInitializerError(
"Native symbol not found: " + "{{ ffi_name }}" +
" (tried: {{ ffi_name }}, _{{ ffi_name }}). " +
"Ensure the native library was compiled with this function exported. " +
"If this is an optional feature, check that all required features are enabled.")),
{{ layout }}
);