Update build_xray.sh

This commit is contained in:
Teddysun 2024-04-26 23:43:41 +09:00
parent 85f5933b40
commit ff632d0d28
No known key found for this signature in database
GPG Key ID: 09BD4C080AD6C46D

View File

@ -1,43 +1,43 @@
#!/bin/sh #!/bin/sh
# #
# This is a Shell script for build multi-architectures xray binary file # This is a Shell script for build multi-architectures xray binary file
# #
# Supported architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x # Supported architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
# #
# Copyright (C) 2020 Teddysun <i@teddysun.com> # Copyright (C) 2020 - 2024 Teddysun <i@teddysun.com>
# #
# Reference URL: # Reference URL:
# https://github.com/XTLS/Xray-core # https://github.com/XTLS/Xray-core
cur_dir="$(pwd)" cur_dir="$(pwd)"
COMMANDS=( git go ) COMMANDS=( git go )
for CMD in "${COMMANDS[@]}"; do for CMD in "${COMMANDS[@]}"; do
if [ ! "$(command -v "${CMD}")" ]; then if [ ! "$(command -v "${CMD}")" ]; then
echo "${CMD} is not installed, please install it and try again" && exit 1 echo "${CMD} is not installed, please install it and try again" && exit 1
fi fi
done done
cd ${cur_dir} cd ${cur_dir}
git clone https://github.com/XTLS/Xray-core.git git clone https://github.com/XTLS/Xray-core.git
cd Xray-core || exit 2 cd Xray-core || exit 2
LDFLAGS="-s -w -buildid=" LDFLAGS="-s -w -buildid="
ARCHS=( 386 amd64 arm arm64 ppc64le s390x ) ARCHS=( 386 amd64 arm arm64 ppc64le s390x )
ARMS=( 6 7 ) ARMS=( 6 7 )
for ARCH in ${ARCHS[@]}; do for ARCH in ${ARCHS[@]}; do
if [ "${ARCH}" = "arm" ]; then if [ "${ARCH}" = "arm" ]; then
for V in ${ARMS[@]}; do for V in ${ARMS[@]}; do
echo "Building xray_linux_${ARCH}${V}" echo "Building xray_linux_${ARCH}${V}"
env CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} GOARM=${V} go build -v -trimpath -ldflags "${LDFLAGS}" -o ${cur_dir}/xray_linux_${ARCH}${V} ./main || exit 1 env CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} GOARM=${V} go build -v -trimpath -ldflags "${LDFLAGS}" -o ${cur_dir}/xray_linux_${ARCH}${V} ./main || exit 1
done done
else else
echo "Building xray_linux_${ARCH}" echo "Building xray_linux_${ARCH}"
env CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -v -trimpath -ldflags "${LDFLAGS}" -o ${cur_dir}/xray_linux_${ARCH} ./main || exit 1 env CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -v -trimpath -ldflags "${LDFLAGS}" -o ${cur_dir}/xray_linux_${ARCH} ./main || exit 1
fi fi
done done
chmod +x ${cur_dir}/xray_linux_* chmod +x ${cur_dir}/xray_linux_*
# clean up # clean up
cd ${cur_dir} && rm -fr Xray-core cd ${cur_dir} && rm -fr Xray-core