-
Notifications
You must be signed in to change notification settings - Fork 7k
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
Windows: Remove all dependencies on MSYS2 #4687
Comments
Flashing and debugging bash scripts are done |
gperf might be a really tough one, it is used to generate perfect hash tables of kernel object pointers which are needed by memory protection features, if you don't want to use it we would have to re-implement it in Python. |
@andrewboie I was. I might return to it sometime if there's a real need. I'm working on dtc right now. |
A dtc implemented in Python is here: #4728 Some error checking should be introduced, but overall, this should work fine. Review appreciated. I'll look into gperf next week. The prototype I have isn't working well in some cases; I might implement the same algorithm that gperf uses instead. |
The perfect hash table algorithm itself is not that complicated. What is the concern here that makes it a "really tough one"? |
Example, not vetted extensively: https://github.com/eddieantonio/perfection |
There are many perfect hashes out there; we just need to find one that lets us build a hash function that do not require the use of a modulus operator (as integer division is quite costly). Making the table size a power of two will help, but it's not always easy to do depending on the perfect hashing algorithm. gperf isn't a perfect minimal hash table because of this. But, yeah, I'm sure that if we shop around we'll find a suitable library. |
what is the bug? Can we open a new issue with more details, seems like a low hanging fruit :) |
Will do. |
merge_config now has a bugreport: #5374 |
Closing this since Kconfig is now Python, gperf is a native Windows executable and we have an MSYS2-wrapped version of dtc that works reliably. |
Definition Of Done: Windows users must be able to use all officially supported build system features without having a dependency on any form of unix emulation layer; MinGW/MSYS2/Cygwin/WSL.
Informally; Windows users should not need to install unix tools, the Zephyr host-side infrastructure should purely have portable dependencies such as python.
Blockers
kconfig.py
VM-VM networkingnamed fifosThe text was updated successfully, but these errors were encountered: