get rid of mcfgthread on Windows #180
Labels
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/nac3#180
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
std::thread
for WindowsAlternatives:
std::thread
in LLVM completely, but as usual LLVM doesn't care at all about bloat and dependencies, and seems to require extensive patching to achieve that.What does LLVM use when it build on Windows/in the legacy compiler build script? Something provided by Visual C++?
Yes, and I would assume that Visual C++ provides
std::thread
.Patching LLVM might not be too bad. As far as I can tell all the thread-related functions are completely unnecessary for our purposes, and they are encapsulated in the
Support
libraries in LLVM. A hacky way out could be to replace all the problematic functions there with dummies that do nothing.Eventually we should get rid of LLVM itself.
For some reason this causes cmake not to find gcc:
Appled this patch to LLVM to remove
std::thread
dependency.Built successfuly on linux variant, but got "undefined reference to
__mingwthr_key_dtor
" on Windows build when compilingnac3artiq
. LLVM alone can be built on Windows.Also, there might be some funny stuff going on with the cmake config, I should not need to touch some of the macro-build-flags in LLVM.
Found another definition of
__mingwthr_key_dtor
inmingwrt
, which is not a stub.However, the
pkgsCross.mingw32.windows.mingwrt
build fails.w32api
is not listed as a build dependency ofmingwrt
in nixpkgs. Anyway,w32api
build also fails.https://github.com/NixOS/nixpkgs/issues/91983
#232