summaryrefslogtreecommitdiffhomepage
path: root/wireguard/libwg/Android.mk
diff options
context:
space:
mode:
authorOdd Stranne <odd@mullvad.net>2020-02-06 11:20:45 +0100
committerOdd Stranne <odd@mullvad.net>2020-02-13 11:29:23 +0100
commit75bd2e1e8ebd1ae33f63fd18fb05acb160b6d96e (patch)
treedf2ed2353c6423544b7033d5ed0a5e7ee9004e52 /wireguard/libwg/Android.mk
parent63ce03b3ce8de46c39fd8a4ef5e4d49156623dae (diff)
downloadmullvadvpn-75bd2e1e8ebd1ae33f63fd18fb05acb160b6d96e.tar.xz
mullvadvpn-75bd2e1e8ebd1ae33f63fd18fb05acb160b6d96e.zip
Consolidate various libwg implementations
Diffstat (limited to 'wireguard/libwg/Android.mk')
-rw-r--r--wireguard/libwg/Android.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/wireguard/libwg/Android.mk b/wireguard/libwg/Android.mk
new file mode 100644
index 0000000000..6b31ffeb80
--- /dev/null
+++ b/wireguard/libwg/Android.mk
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: Apache-2.0
+#
+# Copyright © 2017-2019 WireGuard LLC. All Rights Reserved.
+
+DESTDIR ?= $(CURDIR)/../../android/build/extraJni/$(ANDROID_ABI)
+
+NDK_GO_ARCH_MAP_x86 := 386
+NDK_GO_ARCH_MAP_x86_64 := amd64
+NDK_GO_ARCH_MAP_arm := arm
+NDK_GO_ARCH_MAP_arm64 := arm64
+NDK_GO_ARCH_MAP_mips := mipsx
+NDK_GO_ARCH_MAP_mips64 := mips64x
+
+CLANG_FLAGS := --target=$(ANDROID_LLVM_TRIPLE) --gcc-toolchain=$(ANDROID_TOOLCHAIN_ROOT) --sysroot=$(ANDROID_SYSROOT)
+export CGO_CFLAGS := $(CLANG_FLAGS) $(CFLAGS)
+export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS)
+export CC := $(ANDROID_C_COMPILER)
+export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
+export GOOS := android
+export CGO_ENABLED := 1
+
+default: $(DESTDIR)/libwg.so
+
+GOBUILDARCH := $(NDK_GO_ARCH_MAP_$(shell uname -m))
+GOBUILDOS := $(shell uname -s | tr '[:upper:]' '[:lower:]')
+GOBUILDVERSION := 1.12
+GOBUILDTARBALL := https://dl.google.com/go/go$(GOBUILDVERSION).$(GOBUILDOS)-$(GOBUILDARCH).tar.gz
+GOBUILDVERSION_NEEDED := go version go$(GOBUILDVERSION) $(GOBUILDOS)/$(GOBUILDARCH)
+
+$(DESTDIR)/libwg.so:
+ mkdir -p $(DESTDIR)
+ go get -tags "linux android"
+ chmod -fR +w "$(GOPATH)/pkg/mod"
+ go build -tags "linux android" -ldflags="-X main.socketDirectory=/data/data/$(ANDROID_PACKAGE_NAME)/cache/wireguard" -v -o "$@" -buildmode c-shared
+ rm -f $(DESTDIR)/libwg.h
+
+
+clean:
+ rm -f $(DESTDIR)/libwg.so