Skip to content

build Android arm64-v8a wheel - #10

Open
rishavsanjay wants to merge 1 commit into
sirhcm:mainfrom
rishavsanjay:android-arm64-wheel
Open

build Android arm64-v8a wheel#10
rishavsanjay wants to merge 1 commit into
sirhcm:mainfrom
rishavsanjay:android-arm64-wheel

Conversation

@rishavsanjay

Copy link
Copy Markdown

adds an android arm64-v8a build for the normal libtinymesa.so.

  • targets android api 25 using ndk r29, since api 25 is the minimum supported by mesa 25.2.7 (26.1.4 needs api 29)
  • builds against mesa 25.2.7
  • builds the host mesa_clc tool first since nak needs it during the cross compile
  • does some basic validation to make sure the library was built for the correct architecture and still exports the expected nak + ir3 symbols

libtinymesa_cpu.so is omitted because it is only needed for the optional LLVMpipe CPU backend. ig we dont really need nak either for normal android phones, but keeping it gives us a complete libtinymesa.so build on android. someone could also theoretically be running android on an arm board with nvidia hardware. anyways it was simple enough to keep.

the cpu build is more annoying because we would need to cross compile llvm 20 for android arm64. the llvm installed on the ubuntu runner is an x86_64 linux build, so it cant be linked into the android library. we could probably cheat by using a termux llvm binary, but then the build would most likely only work inside termux instead of being a normal android wheel.

i used codex for some of the workflow setup since i wasnt very familiar with github build workflows and had to translate my local build script. tested locally and it works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant