Merge pull request #371 from libgit2/static-dynamic

Allow building statically via the "static" build tag
This commit is contained in:
Carlos Martín Nieto 2017-04-14 13:11:28 +02:00 committed by GitHub
commit 7cd5a4e731
5 changed files with 46 additions and 16 deletions

View File

@ -1,15 +1,13 @@
language: go
sudo: required
install: ./script/install-libgit2.sh
go:
- 1.5
- 1.6
- 1.7
- tip
script: make test-static
matrix:
allow_failures:
- go: tip

View File

@ -1,11 +1,21 @@
default: test
build-libgit2:
./script/build-libgit2-static.sh
test: build-libgit2
go run script/check-MakeGitError-thread-lock.go
go test ./...
install: build-libgit2
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
/*
#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>
#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25
# error "Invalid libgit2 version; this git2go supports libgit2 v0.25"
#endif
*/
import "C"
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"