summaryrefslogtreecommitdiff
path: root/git_system_dynamic.go
AgeCommit message (Collapse)Author
2020-12-13Rename the build files (#724)lhchavez
This change renames the build files so they come lexicographically before any source files. This makes the compile errors (due to mismatched libgit2 versions) easier to understand, since the `Build_*.go` files will be tried before the rest, and the `#error` in those files will kick in, leading to a much better experience. This unfortunately goes a bit against the defacto standard of using only lowercase characters in filenames, but the better developer experience (and better self-diagnosis when things go wrong instead of having to open a new issue) is worth the deviation. Fixes: #711 Fixes: #617
2020-11-28Relax libgit2 minor version check (#696)nmeum
The major version must still be an exact match since libgit2 uses semantic versioning and changes to the major number indicate backwards incompatible changes to the API. Fixes: #695
2020-10-26Create v31 to support libgit2 v1.1.x (#668)Suhaib Mujahid
The libgit2 `v1.1.0` is released two weeks ago. This PR allows `git2go` to link against the new version.
2020-06-21Revamp the ways in which the library can be built (#621)lhchavez
This change allows to link the system version of libgit2 statically. Since `-tags static` is already used for the bundled version of the library and to avoid breaking old workflows, `-tags static,system_libgit2` is now used to select that. This means that the valid combinations are: | Flag | Effect | |-------------------------------|-----------------------------------------------| | _No flags_ | Dynamically-linked against the system libgit2 | | `-tags static,system_libgit2` | Statically-linked against the system libgit2 | | `-tags static` | Statically-linked against the bundled libgit2 | Note that there is no way to express dynamically linking against the bundled libgit2 because that makes very little sense, since the binaries wouldn't be able to be distributed. If that's still desired, the `PKG_CONFIG_PATH` environment variable can set before building the code. [`Makefile`](https://github.com/libgit2/git2go/blob/master/Makefile) has an example of how it is used in the CI.