Allow building statically via the "static" build tag

This commit is contained in:
Carlos Martín Nieto 2016-11-19 15:48:39 +01:00
parent 71bdf97227
commit 5001942b59
4 changed files with 44 additions and 9 deletions

View File

@ -9,3 +9,16 @@ test: build-libgit2
install: build-libgit2 install: build-libgit2
go install ./... go install ./...
build-libgit2:
./script/build-libgit2-static.sh
static: build-libgit2
go run script/check-MakeGitError-thread-lock.go
go test --tags "static" ./...
install-static: build-libgit2
go install --tags "static" ./...
test-static: build-libgit2
go test --tags "static" ./...

9
git.go
View File

@ -1,17 +1,8 @@
package git 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.h>
#include <git2/sys/openssl.h> #include <git2/sys/openssl.h>
#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25
# error "Invalid libgit2 version; this git2go supports libgit2 v0.25"
#endif
*/ */
import "C" import "C"
import ( import (

14
git_dynamic.go Normal file
View File

@ -0,0 +1,14 @@
// +build !static
package git
/*
#include <git2.h>
#cgo pkg-config: libgit2
#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25
# error "Invalid libgit2 version; this git2go supports libgit2 v0.25"
#endif
*/
import "C"

17
git_static.go Normal file
View File

@ -0,0 +1,17 @@
// +build static
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>
#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25
# error "Invalid libgit2 version; this git2go supports libgit2 v0.25"
#endif
*/
import "C"