mirror of
https://github.com/2dust/v2rayNG.git
synced 2025-12-17 13:48:02 +08:00
update libtun build script (#5055)
* Update compile-tun2socks.sh * update libtun build script
This commit is contained in:
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -43,19 +43,19 @@ jobs:
|
|||||||
uses: actions/cache/restore@v4
|
uses: actions/cache/restore@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ github.workspace }}/libs
|
path: ${{ github.workspace }}/libs
|
||||||
key: libtun2socks-${{ runner.os }}-${{ env.NDK_HOME }}-${{ hashFiles('.git/modules/hev-socks5-tunnel/HEAD') }}-${{ hashFiles('.git/modules/badvpn/HEAD') }}-${{ hashFiles('.git/modules/libancillary/HEAD') }}
|
key: libtun2socks-${{ runner.os }}-${{ env.NDK_HOME }}-${{ hashFiles('.git/modules/hev-socks5-tunnel/HEAD') }}-${{ hashFiles('.git/modules/badvpn/HEAD') }}-${{ hashFiles('.git/modules/libancillary/HEAD') }}-${{ hashFiles('compile-tun2socks.sh') }}--${{ hashFiles('compile-hevtun.sh') }}
|
||||||
|
|
||||||
- name: Build libtun2socks
|
- name: Build libtun2socks
|
||||||
if: steps.cache-libtun2socks-restore.outputs.cache-hit != 'true'
|
if: steps.cache-libtun2socks-restore.outputs.cache-hit != 'true'
|
||||||
run: |
|
run: |
|
||||||
bash compile-tun2socks.sh
|
bash compile-tun2socks.sh && bash compile-hevtun.sh
|
||||||
|
|
||||||
- name: Save libtun2socks
|
- name: Save libtun2socks
|
||||||
if: steps.cache-libtun2socks-restore.outputs.cache-hit != 'true'
|
if: steps.cache-libtun2socks-restore.outputs.cache-hit != 'true'
|
||||||
uses: actions/cache/save@v4
|
uses: actions/cache/save@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ github.workspace }}/libs
|
path: ${{ github.workspace }}/libs
|
||||||
key: libtun2socks-${{ runner.os }}-${{ env.NDK_HOME }}-${{ hashFiles('.git/modules/hev-socks5-tunnel/HEAD') }}-${{ hashFiles('.git/modules/badvpn/HEAD') }}-${{ hashFiles('.git/modules/libancillary/HEAD') }}
|
key: libtun2socks-${{ runner.os }}-${{ env.NDK_HOME }}-${{ hashFiles('.git/modules/hev-socks5-tunnel/HEAD') }}-${{ hashFiles('.git/modules/badvpn/HEAD') }}-${{ hashFiles('.git/modules/libancillary/HEAD') }}-${{ hashFiles('compile-tun2socks.sh') }}--${{ hashFiles('compile-hevtun.sh') }}
|
||||||
|
|
||||||
- name: Copy libtun2socks
|
- name: Copy libtun2socks
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
40
compile-hevtun.sh
Normal file
40
compile-hevtun.sh
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
set -o nounset
|
||||||
|
# Set magic variables for current file & dir
|
||||||
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
||||||
|
__base="$(basename ${__file} .sh)"
|
||||||
|
if [[ ! -d $NDK_HOME ]]; then
|
||||||
|
echo "Android NDK: NDK_HOME not found. please set env \$NDK_HOME"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
TMPDIR=$(mktemp -d)
|
||||||
|
clear_tmp () {
|
||||||
|
rm -rf $TMPDIR
|
||||||
|
}
|
||||||
|
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; clear_tmp; exit 1' ERR INT
|
||||||
|
|
||||||
|
#build hev-socks5-tunnel
|
||||||
|
mkdir -p "$TMPDIR/jni"
|
||||||
|
pushd "$TMPDIR"
|
||||||
|
|
||||||
|
echo 'include $(call all-subdir-makefiles)' > jni/Android.mk
|
||||||
|
|
||||||
|
ln -s "$__dir/hev-socks5-tunnel" jni/hev-socks5-tunnel
|
||||||
|
|
||||||
|
"$NDK_HOME/ndk-build" \
|
||||||
|
NDK_PROJECT_PATH=. \
|
||||||
|
APP_BUILD_SCRIPT=jni/Android.mk \
|
||||||
|
"APP_ABI=armeabi-v7a arm64-v8a x86 x86_64" \
|
||||||
|
APP_PLATFORM=android-21 \
|
||||||
|
NDK_LIBS_OUT="$TMPDIR/libs" \
|
||||||
|
NDK_OUT="$TMPDIR/obj" \
|
||||||
|
"APP_CFLAGS=-O3 -DPKGNAME=com/v2ray/ang/service" \
|
||||||
|
"APP_LDFLAGS=-Wl,--build-id=none -Wl,--hash-style=gnu" \
|
||||||
|
|
||||||
|
cp -r "$TMPDIR/libs/"* "$__dir/libs/"
|
||||||
|
|
||||||
|
popd
|
||||||
|
rm -rf $TMPDIR
|
||||||
@@ -30,29 +30,3 @@ $NDK_HOME/ndk-build \
|
|||||||
cp -r $TMPDIR/libs $__dir/
|
cp -r $TMPDIR/libs $__dir/
|
||||||
popd
|
popd
|
||||||
rm -rf $TMPDIR
|
rm -rf $TMPDIR
|
||||||
|
|
||||||
#build hev-socks5-tunnel
|
|
||||||
HEVTUN_TMP=$(mktemp -d)
|
|
||||||
trap 'rm -rf "$HEVTUN_TMP"' EXIT
|
|
||||||
|
|
||||||
mkdir -p "$HEVTUN_TMP/jni"
|
|
||||||
pushd "$HEVTUN_TMP"
|
|
||||||
|
|
||||||
echo 'include $(call all-subdir-makefiles)' > jni/Android.mk
|
|
||||||
|
|
||||||
ln -s "$__dir/hev-socks5-tunnel" jni/hev-socks5-tunnel
|
|
||||||
|
|
||||||
"$NDK_HOME/ndk-build" \
|
|
||||||
NDK_PROJECT_PATH=. \
|
|
||||||
APP_BUILD_SCRIPT=jni/Android.mk \
|
|
||||||
"APP_ABI=armeabi-v7a arm64-v8a x86 x86_64" \
|
|
||||||
APP_PLATFORM=android-21 \
|
|
||||||
NDK_LIBS_OUT="$HEVTUN_TMP/libs" \
|
|
||||||
NDK_OUT="$HEVTUN_TMP/obj" \
|
|
||||||
"APP_CFLAGS=-O3 -DPKGNAME=com/v2ray/ang/service" \
|
|
||||||
"APP_LDFLAGS=-WI,--build-id=none -WI,--hash-style=gnu" \
|
|
||||||
|
|
||||||
cp -r "$HEVTUN_TMP/libs/"* "$__dir/libs/"
|
|
||||||
popd
|
|
||||||
|
|
||||||
rm -rf "$HEVTUN_TMP"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user