Skip to content

Conversation

@straight-shoota
Copy link
Member

@straight-shoota straight-shoota commented Nov 24, 2025

aarch64-linux-android is the canonical name (#16403 (comment)).

Closes #16403

@HertzDevil
Copy link
Contributor

It needs to be a symlink for compatibility, because the directory name under src/lib_c is still determined by Crystal::Codegen::Target#os_name, instead of the normalized LLVM triple (which is why the special case for Android needs to be dropped as well so that it could use the whole environment part)

@straight-shoota straight-shoota marked this pull request as draft November 24, 2025 14:37
@ysbaddaden
Copy link
Contributor

I guess we need the symlink for forward compatibility, but Crystal::Codegen::Target#os_name shall return linux-android now. It's sole use is to build the lib_c path.

@straight-shoota
Copy link
Member Author

Symlink works. 👍

But if we change CrystalPath#add_target_path(codegen_target) to search for aarch64-linux-android we lose compatibility with older stdlib versions which do not have this path.

We could add a special case for android (if src/lib_c/aarch64-linux-android, does not exist, look for src/lib_c/aarch64-linux-android instead), or keep using the symlink.

@straight-shoota straight-shoota marked this pull request as ready for review November 24, 2025 14:43
@ysbaddaden
Copy link
Contributor

Oh right, new compiler trying to build older stdlib 😮‍💨

@straight-shoota straight-shoota added this to the 1.19.0 milestone Nov 25, 2025
@straight-shoota straight-shoota merged commit 6bb4d99 into crystal-lang:master Nov 26, 2025
48 of 50 checks passed
@straight-shoota straight-shoota deleted the refactor/rename/aarch64-linux-android branch November 26, 2025 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants