Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This does a full client build of OpenLDAP, using upstream's autotools based build chain on MSYS2, but using MSVC build tools. This requires wrappers for the MSVC build tools; ar-lib and compile are taken unmodified from automake; windres is a minimalist self-made wrapper.
We also need POSIX regex for the client tools (such as ldapsearch); we use rxspencer[1], which we build on the fly and link in statically.
Using upstream's autotools based toolchain has the obvious drawback that building now requires MSYS2 instead of "native" Windows tools only. On the other hand, instead of needing hand-made configuration and Visual Studio solutions, what is volatile regarding updates of the library, we only need a manageable patch set. Plus, we get the client tools basically for free. If we want to distribute them is another question.
[1] https://github.com/garyhouston/rxspencer