Skip to content

Platform support for bindings #1079

@Dwarfley

Description

@Dwarfley

Question

I am currently working on a PR that aims to improve the Gradle setup that publishes to Maven. I have a question regarding the supported platforms for each binding. The Artifacts enum in build.gradle.kts provides some insight. The build.xml also contains some useful information.

Most bindings either require natives for all platforms or none. For these it would be safe to assume that all platforms are supported. My question then is for the rest of the modules, which platforms are supported and which of those requires natives? The enum only specify if a native is required but not if the platform is supported. Here are the bindings in question along with what platforms have missing natives:

  • lwjgl-bgfx: windows_arm64
  • lwjgl-ktx: windows_x86
  • lwjgl-openxr: macos_x64, macos_arm64
  • lwjgl-remotery: windows_arm64
  • lwjgl-vulkan: freebsd_x64, linux_x64, linux_arm32, linux_arm64, linux_ppc64le, linux_riscv64, windows_x64, windows_x86, windows_arm64

I assume that if a native is not present in these modules, then that platform is not supported. I know vulkan is an exception as it only require natives for macos. I do not however know if all of the other platforms for vulkan are supported.

Also, the customise tool shows some of this information. It does however not appear to match what I found. The tool says lwjgl-spvc is not supported on freebsd_x64, linux_ppc64le and linux_riscv64. Yet the Artifacts enum and the build.xml file seem to provide natives for all platforms. The lwjgl-openxr does however match. Also the modules lwjgl-bgfx, lwjgl-ktx and lwjgl-remotery have missing natives but the customise tool does not list these platforms as unsupported. If they are unsupported they should be listed as such.

I used the most recent commit of the repository to look at the build files. The selected version in the customise tool was the latest early access version (3.4.0-snapshot build 9).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions