aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules8
-rw-r--r--Android.mk24
-rw-r--r--README.md2
-rwxr-xr-xfetch-wireguard.sh10
m---------libmnl0
m---------wireguard0
6 files changed, 16 insertions, 28 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..a73c28e
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,8 @@
+[submodule "wireguard"]
+ path = wireguard
+ url = https://git.zx2c4.com/WireGuard
+ branch = master
+[submodule "libmnl"]
+ path = libmnl
+ url = git://git.netfilter.org/libmnl
+ branch = master
diff --git a/Android.mk b/Android.mk
index f89c42c..c6d8dfb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,29 +1,19 @@
WIREGUARD_PATH := $(call my-dir)
-fetch-wireguard:
- cd "$(WIREGUARD_PATH)" && ./fetch-wireguard.sh
-
TARGET_KERNEL_BINARIES: patch-wireguard
-patch-wireguard: fetch-wireguard
- ln -vsfT "$$(realpath --relative-to="$(TARGET_KERNEL_SOURCE)/net)" "$(WIREGUARD_PATH)/wireguard-src/src")" "$(TARGET_KERNEL_SOURCE)/net/wireguard"
+patch-wireguard:
+ ln -vsfT "$$(realpath --relative-to="$(TARGET_KERNEL_SOURCE)/net)" "$(WIREGUARD_PATH)/wireguard/src")" "$(TARGET_KERNEL_SOURCE)/net/wireguard"
grep -q wireguard "$(TARGET_KERNEL_SOURCE)/net/Makefile" || sed -i "/^obj-\\\$$(CONFIG_NETFILTER).*+=/a obj-\$$(CONFIG_WIREGUARD) += wireguard/" "$(TARGET_KERNEL_SOURCE)/net/Makefile"
grep -q wireguard "$(TARGET_KERNEL_SOURCE)/net/Kconfig" || sed -i "/^if INET\$$/a source \"net/wireguard/Kconfig\"" "$(TARGET_KERNEL_SOURCE)/net/Kconfig"
-fetch-libmnl:
- rm -rf "$(WIREGUARD_PATH)/libmnl-src" && mkdir "$(WIREGUARD_PATH)/libmnl-src"
- curl -L "https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2" | tar -C "$(WIREGUARD_PATH)/libmnl-src" --strip-components=1 -xjf -
-
-.PHONY: fetch-wireguard fetch-libmnl patch-wireguard
+.PHONY: patch-wireguard
LOCAL_PATH := $(WIREGUARD_PATH)
include $(CLEAR_VARS)
-MNL := libmnl-src/src
-WG := wireguard-src/src/tools
-WG_FILES := $(WG)/config.c $(WG)/curve25519.c $(WG)/encoding.c $(WG)/genkey.c $(WG)/ipc.c $(WG)/mnlg.c $(WG)/pubkey.c $(WG)/set.c $(WG)/setconf.c $(WG)/show.c $(WG)/showconf.c $(WG)/terminal.c $(WG)/wg.c
-MNL_FILES := $(MNL)/attr.c $(MNL)/callback.c $(MNL)/nlmsg.c $(MNL)/socket.c
-$(foreach F,$(WG_FILES) $(MNL_FILES),$(WIREGUARD_PATH)/$(F)): fetch-wireguard fetch-libmnl
-LOCAL_SRC_FILES := $(WG_FILES) $(MNL_FILES)
-LOCAL_C_INCLUDES := $(WIREGUARD_PATH)/$(MNL)/ $(WIREGUARD_PATH)/$(WG)/ $(WIREGUARD_PATH)/$(MNL)/../include/
+MNL := $(WIREGUARD_PATH)/libmnl/src
+WG := $(WIREGUARD_PATH)/wireguard/src/tools
+LOCAL_SRC_FILES := $(subst $(WIREGUARD_PATH)/,,$(wildcard $(WG)/*.c $(MNL)/*.c))
+LOCAL_C_INCLUDES := $(MNL)/ $(WG)/ $(MNL)/../include/
LOCAL_CFLAGS := -O3 -std=gnu11 -D_GNU_SOURCE -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR="\"/data/local/run\"" -Wno-pointer-arith -Wno-unused-parameter
LOCAL_MODULE := wg
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
diff --git a/README.md b/README.md
index ccfb1ae..2c78cf9 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ Add the following local manifest to your project, or include the `<remote>` and
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="zx2c4" fetch="https://git.zx2c4.com/" />
- <project remote="zx2c4" name="android_kernel_wireguard" path="kernel/wireguard" />
+ <project remote="zx2c4" name="android_kernel_wireguard" path="kernel/wireguard" sync-s="true" />
</manifest>
```
diff --git a/fetch-wireguard.sh b/fetch-wireguard.sh
deleted file mode 100755
index 73a2200..0000000
--- a/fetch-wireguard.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-set -e
-
-[[ $(( $(date +%s) - $(stat -c %Y .last-wireguard-fetch 2>/dev/null || echo 0) )) -gt 21600 ]] || exit 0
-
-[[ $(curl -L https://git.zx2c4.com/WireGuard/refs/) =~ snapshot/(WireGuard-[0-9.]+\.tar\.xz) ]]
-rm -rf wireguard-src
-mkdir wireguard-src
-curl -L "https://git.zx2c4.com/WireGuard/snapshot/${BASH_REMATCH[1]}" | tar -C "wireguard-src" --strip-components=1 -xJf -
-touch .last-wireguard-fetch
diff --git a/libmnl b/libmnl
new file mode 160000
+Subproject 0930a63252958f40bb0f9d09de86985c25cea03
diff --git a/wireguard b/wireguard
new file mode 160000
+Subproject ed479fa330dfb8ac8fcbf81614dc112f0293021