diff options
| author | Carlos Martín Nieto <[email protected]> | 2017-01-20 00:46:34 +0000 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2017-01-20 00:46:34 +0000 |
| commit | f0370741989f40b597c99e6093ce7fa0b1983397 (patch) | |
| tree | f4124f42d79403e0ef20af1080ac3818604ce49c /git.go | |
| parent | b8a9efd21f5ea094976ff2c53c4aec1cf6014876 (diff) | |
| parent | 5d0a4c752a74258a5f42e40fccd2908ac4e336b8 (diff) | |
Merge remote-tracking branch 'origin/next'
Diffstat (limited to 'git.go')
| -rw-r--r-- | git.go | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -1,12 +1,15 @@ package git /* +#cgo CFLAGS: -I${SRCDIR}/vendor/libgit2/include +#cgo LDFLAGS: -L${SRCDIR}/vendor/libgit2/build/ -lgit2 +#cgo windows LDFLAGS: -lwinhttp +#cgo !windows pkg-config: --static ${SRCDIR}/vendor/libgit2/build/libgit2.pc #include <git2.h> #include <git2/sys/openssl.h> -#cgo pkg-config: libgit2 -#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 24 -# error "Invalid libgit2 version; this git2go supports libgit2 v0.24" +#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25 +# error "Invalid libgit2 version; this git2go supports libgit2 v0.25" #endif */ @@ -125,6 +128,15 @@ func init() { C.git_libgit2_init() + // Due to the multithreaded nature of Go and its interaction with + // calling C functions, we cannot work with a library that was not built + // with multi-threading support. The most likely outcome is a segfault + // or panic at an incomprehensible time, so let's make it easy by + // panicking right here. + if Features()&FeatureThreads == 0 { + panic("libgit2 was not built with threading support") + } + // This is not something we should be doing, as we may be // stomping all over someone else's setup. The user should do // this themselves or use some binding/wrapper which does it |
