summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--git.go2
-rwxr-xr-xscript/build-libgit2-static.sh4
-rwxr-xr-xscript/with-static.sh12
4 files changed, 16 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 39fc558..3040857 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ build-libgit2:
test: build-libgit2
go run script/check-MakeGitError-thread-lock.go
- go test ./...
+ ./script/with-static.sh go test ./...
install: build-libgit2
- go install ./...
+ ./script/with-static.sh go install ./...
diff --git a/git.go b/git.go
index 6a5562a..89bd561 100644
--- a/git.go
+++ b/git.go
@@ -1,8 +1,6 @@
package git
/*
-#cgo pkg-config: --static --define-variable=libdir=vendor/libgit2/build --define-variable=includedir=vendor/libgit2/include vendor/libgit2/build/libgit2.pc
-#cgo LDFLAGS: -lgit2
#include <git2.h>
*/
import "C"
diff --git a/script/build-libgit2-static.sh b/script/build-libgit2-static.sh
index 0a6c39f..5723721 100755
--- a/script/build-libgit2-static.sh
+++ b/script/build-libgit2-static.sh
@@ -4,7 +4,7 @@ set -ex
VENDORED_PATH=vendor/libgit2
-cd "$VENDORED_PATH" &&
+cd $VENDORED_PATH &&
mkdir -p install/lib &&
mkdir -p build &&
cd build &&
@@ -13,7 +13,7 @@ cmake -DTHREADSAFE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_C_FLAGS=-fPIC \
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \
- -DCMAKE_INSTALL_PREFIX=. \
+ -DCMAKE_INSTALL_PREFIX=../install \
.. &&
cmake --build .
diff --git a/script/with-static.sh b/script/with-static.sh
new file mode 100755
index 0000000..3f60e31
--- /dev/null
+++ b/script/with-static.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -ex
+
+export BUILD="$PWD/vendor/libgit2/build"
+export PCFILE="$BUILD/libgit2.pc"
+
+FLAGS=$(pkg-config --static --libs $PCFILE) || exit 1
+export CGO_LDFLAGS="$BUILD/libgit2.a -L$BUILD ${FLAGS}"
+export CGO_CFLAGS="-I$PWD/vendor/libgit2/include"
+
+$@