library loader: use dart:ffi Abi instead of uname() for architecture detection - #22
Open
ardera wants to merge 2 commits into
Open
library loader: use dart:ffi Abi instead of uname() for architecture detection#22ardera wants to merge 2 commits into
ardera wants to merge 2 commits into
Conversation
- dart:ffi has it's own Abi class now, which you can use for architecture detection - (used internally for @AbiSpecificInteger for example) - make nativeUname() use `/proc/sys/kernel` files instead of uname binding - make `CpuArch._internal()` use `Abi.current()` for architecture detection, instead of querying uname
ardera
force-pushed
the
new-architecture-detection
branch
from
May 16, 2023 13:12
cea3b08 to
ce352ec
Compare
Owner
|
Thanks for your submission. I will include these changes for the next relaase 0.9.6. For this release I will update the https://github.com/vsergeev/c-periphery libs. After two years an update is available. |
throw an error if `!_abiSupported`, not `_abiSupported`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hey, thanks for the project! It's really helpful!
dart:ffihas it's ownAbiclass now, which you can use for architecture detection: https://api.dart.dev/stable/2.18.1/dart-ffi/Abi-class.html. It's used internally for@AbiSpecificIntegerfor example.Also, make
nativeUname()use/proc/sys/kernel/{ostype,hostname,osrelease,version}files anduname -mfor architecture instead. (Not strictly necessary, just thought that'd be better, I think the previous method of guessing_UTSNAME_LENGTH, was nice, but maybe a bit hacky :p )Make
CpuArch._internal()use dart:ffi Abi for architecture detection, too now, instead of querying uname.You could also remove the whole
cpu_architecture.dartfile since people should really be usingdart:ffi'sAbiclass :) But that'd be a breaking change of course.