alef 0.23.33

Opinionated polyglot binding generator for Rust libraries
Documentation
1
2
3
4
5
6
7
8
9

    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(),
        FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.ADDRESS)
    );