visualgitio / LGit

Git porcelain & MSSCCI provider
Other
11 stars 2 forks source link

Rebuild dependencies as static #29

Closed NattyNarwhal closed 3 years ago

NattyNarwhal commented 3 years ago

At the very least, libgit2 can be dynamic if that's easier. The problem is that some systems might have global zlib/OpenSSL that mess with us. An example in the wild was found; some old WiFi drivers just dump a libeay32 in system32 (!).

NattyNarwhal commented 3 years ago

Static seems to be fine at least for VC++6/VB6/VS2005. I took the opportunity to upgrade to OpenSSL 1.1.1 which is LTS (and works on 2000 with minimal hacking + long long fixes, may work on NT4, possibly 9x with unicows). I'll switch the main build over to this.

I was initially concerned, but it seems to be fine to load a static CRT DLL into a variety of hosts. I did notice the SourceSafe SCC provider also unlike the other SS libraries, actually seems to static link its deps instead of linking to the other SS libs or MSVCRT. So, it seems safe, especially if we always make sure to never mix the sources.

I'll update deps doc.