From 5001942b59502155fc51b7d315b161c721ea1cf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Sat, 19 Nov 2016 15:48:39 +0100 Subject: [PATCH 1/2] Allow building statically via the "static" build tag --- Makefile | 13 +++++++++++++ git.go | 9 --------- git_dynamic.go | 14 ++++++++++++++ git_static.go | 17 +++++++++++++++++ 4 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 git_dynamic.go create mode 100644 git_static.go diff --git a/Makefile b/Makefile index 39fc558..9be90e1 100644 --- a/Makefile +++ b/Makefile @@ -9,3 +9,16 @@ test: build-libgit2 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" ./... diff --git a/git.go b/git.go index c032b0a..5181b8b 100644 --- a/git.go +++ b/git.go @@ -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 #include - -#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25 -# error "Invalid libgit2 version; this git2go supports libgit2 v0.25" -#endif - */ import "C" import ( diff --git a/git_dynamic.go b/git_dynamic.go new file mode 100644 index 0000000..f89d509 --- /dev/null +++ b/git_dynamic.go @@ -0,0 +1,14 @@ +// +build !static + +package git + +/* +#include +#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" diff --git a/git_static.go b/git_static.go new file mode 100644 index 0000000..d0acb3a --- /dev/null +++ b/git_static.go @@ -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 + +#if LIBGIT2_VER_MAJOR != 0 || LIBGIT2_VER_MINOR != 25 +# error "Invalid libgit2 version; this git2go supports libgit2 v0.25" +#endif + +*/ +import "C" From e7747d31746abadbba6ae986538874b336687f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Fri, 14 Apr 2017 12:51:13 +0200 Subject: [PATCH 2/2] travis: build statically --- .travis.yml | 6 ++---- Makefile | 3 --- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index d9130bc..f3b8b46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/Makefile b/Makefile index 9be90e1..b2399f8 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,5 @@ default: test -build-libgit2: - ./script/build-libgit2-static.sh - test: build-libgit2 go run script/check-MakeGitError-thread-lock.go go test ./...