diff options
-rw-r--r-- | .gitmodules | 8 | ||||
-rw-r--r-- | Android.mk | 24 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | fetch-wireguard.sh | 10 | ||||
m--------- | libmnl | 0 | ||||
m--------- | wireguard | 0 |
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 @@ -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) @@ -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 |