Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop using Python for the linker wrapper #49

Open
ncalexan opened this issue Apr 23, 2021 · 4 comments
Open

Stop using Python for the linker wrapper #49

ncalexan opened this issue Apr 23, 2021 · 4 comments

Comments

@ncalexan
Copy link
Member

While poking around this project for the first time in a long time, I noticed that we require Python. I couldn't remember why, and it turns out we're only invoking Python in the linker wrapper. It seems silly to route through Python for this.

I think that when this was implemented we needed Python to invoke some Android NDK standalone packaging script, so it made some sense to use Python and not fuss with Windows batch files any more than needed. But now, it would be grand to have one fewer major dependency.

@ncalexan
Copy link
Member Author

I see that we actually do use Python to invoke make_standalone_toolchain.py, but only when using old NDKs (by default). Newer NDKs (19+) use prebuilt toolchains. At this point, I doubt anybody is using non-prebuilt toolchains; we should probably deprecate that functionality and simplify our lives.

But this ticket still remains: for folks using prebuilt toolchains, we could avoid requiring Python, which would be pleasant.

@dcsommer
Copy link
Contributor

FWIW, my team is still using older toolchains to support 32-bit devices.

@ncalexan
Copy link
Member Author

FWIW, my team is still using older toolchains to support 32-bit devices.

A useful data point. It's possible Mozilla is -- I've moved on to other projects -- but in any case, there's no rush to remove the standalone toolchain support.

@ncalexan
Copy link
Member Author

Worth noting that we leveraged the existing linker script for #75. Luckily that shouldn't be required for ever -- newer Rust std library versions don't link against -lgcc -- but it does put a floor on supported Rust versions. That is, if we remove the linker script, we can't support NDK 23 for Rust earlier than Rust from June 2021, which looks like Rust 1.53 or 1.54.

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

No branches or pull requests

2 participants