glibc-abi-tool
MSYS2-packages
Our great sponsors
glibc-abi-tool | MSYS2-packages | |
---|---|---|
8 | 10 | |
159 | 1,241 | |
1.3% | 0.6% | |
4.3 | 9.8 | |
about 2 months ago | 4 days ago | |
Zig | Shell | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
glibc-abi-tool
-
To Save C, We Must Save ABI
Operating systems already do language-independent ABI files: https://github.com/marlersoft/win32json so the only thing missing is symbol versioning, which already has solutions: https://github.com/ziglang/glibc-abi-tool
-
Using Zig as Cross Platform C Toolchain
> enabling you to target any version of glibc out of the box by building symbol mappings: https://github.com/ziglang/glibc-abi-tool/
This would be huge. How can I tell zig cc to use a particular glibc version though?
"So, a clang wrapper?" is a common thought. Here's how Zig differs from clang out of the box:
* Links MachO binaries for Apple Silicon via the custom zld linker it ships. LLVM cannot do this currently.
* Provides (deduplicated) libc headers for pretty much every platform, including macOS and glibc/musl. https://github.com/ziglang/zig/tree/master/lib/libc/include
* Provides a libc implementation (libSystem for macOS, musl and glibc, mingw for Windows, and WASI)
* Deals with lots of the deep depths of hell, like enabling you to target any version of glibc out of the box by building symbol mappings: https://github.com/ziglang/glibc-abi-tool/
And that doesn't mention the most important part, IMO, which is that it lets you cross compile _out of the box_. No fiddling with sysroots, system packages, etc. to get a cross compiling toolchain working.
- The Atrocities of COM win32 headers
-
Hacker News top posts: Dec 13, 2021
Show HN: A 166 KB file for cross compiling glibc for any version, any target\ (5 comments)
- Show HN: A 166 KB file for cross compiling glibc for any version, any target
MSYS2-packages
-
Erdtree v1.4.1 - the love child of `tree` and `du`, now with support for a configuration file to override defaults and more
Could you let me know of this is perhaps relevant to you? I will investigate sometime this week! Thanks for bringing this to my attention.
-
Windows Subsystem For Linux a.k.a. WSL 1.0.0 released
I am still on WSL1 due to the filesystem performance with WSL2. I recently tried to move more of my workflow towards MSYS2 but various things keep breaking for me without obvious reasons.
Latest issue I encountered was that GNU parallel simple does not work. [1]
-
The Atrocities of COM win32 headers
My last experience with MinGW-w64 was when I was trying to compile my C++ simulation code in Windows and finding out that AVX instructions were not working because the compiler had misalignment-related bugs. (The issue is still open in https://github.com/msys2/MSYS2-packages/issues/1209)
MinGW/MSYS certainly had appeal to former Linux devs who didn't want to touch the horrors of MSVC, but Zig (with its included Clang compiler/runtime) might end up being a better solution for people trying to compile C/C++ code on Windows in a stable manner.
What are some alternatives?
mingw-w64 - (Unofficial) Mirror of mingw-w64-code
llvm-mingw - An LLVM/Clang/LLD based mingw-w64 toolchain
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
media-autobuild_suite - This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
qmk_distro_msys - A Windows one-click installer for the QMK CLI
rubyinstaller2 - MSYS2 based RubyInstaller for Windows
sysroot - Files for cross-compilation
weird - Generative art in Common Lisp
win32metadata - Tooling to generate metadata for Win32 APIs in the Windows SDK.