Achieve build success on WINDOWS
WiP to get build to work on Windows.
Might be best to have many small PRs than one big PR that takes F-O-R-E-V-E-R to merge. So I've named this branch win32-build0.
Closes #92
The issue was closed long ago.
If we start supporting Windows, it means we will have to maintain it. I'm very skeptical to that. From a maintainability perspective, I'm very happy we're not supporting Windows.
@zuiderkwast It's your call; I guess.
I just don't like companies making proprietary ports from open-source codebases; especially to facilitate cross-platform support. With some hackery I should be able to get the valkey build to work on MSVC (native Windows).
Then someone else can come in and optimise it, so it's actually efficient on Windows.
IMHO it's good programming practice to develop a stack that is portable across operating systems. It helps to futureproof, aids in finding bugs, and increases the user-base.
Yes it's my call only. :)
Regarding portability, there is a standard called Posix = portable operating system. We support Posix. Almost all operating systems do.
If it would be a small effort to support Windows, I guess I wouldn't mind, but it seems to be huge. If we increase the maintainability burden, I worry we will lose momentum.
Windows seems to be a world of proprietary software, including OS and compilers. If you like open source software, life will be so much nicer and easier on other platforms...
@zuiderkwast Yeah I hear ya; concurrent to this effort I am trying to massively limit the number of files changed. Preferably only the CMake files need to be changed, and maybe one additional header. Then something like https://github.com/SamuelMarks/libunistd or https://github.com/dboland/minc or some new impl can be linked in CMake's if (WIN32) branch and then it'll just work™
FWIW: Personally when I go open-source I go hard-core cross-platform, e.g., see my https://github.com/offscale/libacquire
I think we have no plan to support on Windows platform. Thus, I will close this PR if no others objection to it.
So is mingw clang acceptable? It's Windows native like msvc, but very close to Linux.
I think we have no plan to support on Windows platform. Thus, I will close this PR if no others objection to it.
I think it wouldn't be a bad idea even if subpar, even though I dislike windows.