Skip to content

Plugin Loading System via LLVM integration #16

Description

@orvitpng

It is possible to create a cross-platform dynamic library using LLVM that can be imported by Rust on various systems. LLVM, a collection of modular and reusable compiler and toolchain technologies, generates an intermediate representation (IR) code that provides a certain level of abstraction from the platform. Rust has the capability to link against these dynamically generated libraries.

However, creating such a library involves dealing with some complexities:

  1. Cross-platform development requires handling specific aspects tailored to different platforms in your codebase while maintaining general compatibility across all target platforms.

  2. Addressing ABI (Application Binary Interface) compatibility issues between languages when linking together compiled components may require extra consideration during implementation stages.

  3. Configuring build scripts are essential for ensuring correct compilation results, and it'd be frustrating with a lot of boilerplate for every plugin made.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions