Skip to content

Conversation

Keno
Copy link

@Keno Keno commented Jul 18, 2025

  1. Install the .dll into bin/ not lib/
  2. Install the .dll.a import library into lib/
  3. Do not attempt to create symlinks for so-versioned binaries
  4. Incorporate the LIBVER_MAJOR per windows convention.

1. Install the .dll into bin/ not lib/
2. Install the .dll.a import library into lib/
3. Do not attempt to create symlinks for so-versioned binaries
4. Incorporate the LIBVER_MAJOR per windows convention.
@Keno Keno force-pushed the kf/winbuildfix branch from 7fb5e78 to 1f5b160 Compare July 18, 2025 05:24
@Cyan4973
Copy link
Contributor

The title states : "Correct a few Windows build issues"

Do you actually mean:
"Fix a few mingw/msys installation issues ?"

@Keno
Copy link
Author

Keno commented Jul 19, 2025

Yes, they're installation issues. I think it would be accurate to say that they are mingw issues in that mingw is the only Windows toolchain that lib/Makefile supports in practice [1]. I used Windows in the title since that's what the Makefile actually checks for, I don't have any problem with mingw instead though. I don't think any of the issues are msys specific.

[1] With respect to the soname change, I believe the -somajor-sominor.dll convention was originally introduced by cygwin in 2000 (https://cygwin.com/pipermail/cygwin/2000-August/040045.html is the earliest discussion I could find), for which it was then added to libtool in 2001. Subsequent toolchains then copied the convention when they added themselves to libtool, making it the de facto standard for everything that used libtool to target windows, so not technically specific to either mingw nor msys, but probably most closely associated with mingw in practice. It's also been adopted as the major convention by non-autotools toolchains. For example, the meson (https://github.com/mesonbuild/meson/blob/ab261f9951f235c776b8664fbdbf0365a8cf535d/mesonbuild/build.py#L2364) build for libzstd will produce libzstd-1.dll, not libzstd.dll. That said, it is true that windows naming conventions are a bit all over the place here. My primary objective was making the makefil build match meson, since we use both downstream, depending on the environment.

@Cyan4973 Cyan4973 changed the title lib/Makefile: Correct a few Windows build issues lib/Makefile: fix MinGW installation issues Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants