Ver Fonte

Add s390x arch support (#2172)

MisakaNo の 小破站 há 11 meses atrás
pai
commit
44b7eb881c
3 ficheiros alterados com 15 adições e 0 exclusões
  1. 10 0
      .github/workflows/release.yml
  2. 4 0
      README.md
  3. 1 0
      install.sh

+ 10 - 0
.github/workflows/release.yml

@@ -17,6 +17,7 @@ jobs:
           - armv6
           - 386
           - armv5
+          - s390x
     runs-on: ubuntu-20.04
     steps:
       - name: Checkout repository
@@ -40,6 +41,8 @@ jobs:
             sudo apt install gcc-i686-linux-gnu
           elif [ "${{ matrix.platform }}" == "armv5" ]; then
             sudo apt install gcc-arm-linux-gnueabi
+          elif [ "${{ matrix.platform }}" == "s390x" ]; then
+            sudo apt install gcc-s390x-linux-gnu
           fi
 
       - name: Build x-ui
@@ -65,6 +68,9 @@ jobs:
             export GOARCH=arm
             export GOARM=5
             export CC=arm-linux-gnueabi-gcc
+          elif [ "${{ matrix.platform }}" == "s390x" ]; then
+            export GOARCH=s390x
+            export CC=s390x-linux-gnu-gcc
           fi
           go build -o xui-release -v main.go
           
@@ -102,6 +108,10 @@ jobs:
             wget ${Xray_URL}Xray-linux-arm32-v5.zip
             unzip Xray-linux-arm32-v5.zip
             rm -f Xray-linux-arm32-v5.zip
+          elif [ "${{ matrix.platform }}" == "s390x" ]; then
+            wget ${Xray_URL}Xray-linux-s390x.zip
+            unzip Xray-linux-s390x.zip
+            rm -f Xray-linux-s390x.zip
           fi
           rm -f geoip.dat geosite.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat

+ 4 - 0
README.md

@@ -79,6 +79,7 @@ case "${ARCH}" in
   armv7* | armv7) XUI_ARCH="armv7" ;;
   armv6* | armv6) XUI_ARCH="armv6" ;;
   armv5* | armv5) XUI_ARCH="armv5" ;;
+  s390x) echo 's390x' ;;
   *) XUI_ARCH="amd64" ;;
 esac
 
@@ -97,6 +98,7 @@ case "${ARCH}" in
   armv7* | armv7) XUI_ARCH="armv7" ;;
   armv6* | armv6) XUI_ARCH="armv6" ;;
   armv5* | armv5) XUI_ARCH="armv5" ;;
+  s390x) echo 's390x' ;;
   *) XUI_ARCH="amd64" ;;
 esac
 
@@ -205,6 +207,8 @@ Our platform offers compatibility with a diverse range of architectures and devi
 - **armv6 / arm / arm32**: Geared towards very old embedded devices, this architecture, while less prevalent, is still in use. Devices such as Raspberry Pi 1, Raspberry Pi Zero/Zero W, rely on this architecture.
 
 - **armv5 / arm / arm32**: An older architecture primarily associated with early embedded systems, it is less common today but may still be found in legacy devices like early Raspberry Pi versions and some older smartphones.
+
+- **s390x**: This architecture is commonly used in IBM mainframe computers and offers high performance and reliability for enterprise workloads.
 </details>
 
 ## Languages

+ 1 - 0
install.sh

@@ -31,6 +31,7 @@ arch() {
     armv7* | armv7 | arm) echo 'armv7' ;;
     armv6* | armv6) echo 'armv6' ;;
     armv5* | armv5) echo 'armv5' ;;
+    s390x) echo 's390x' ;;
     *) echo -e "${green}Unsupported CPU architecture! ${plain}" && rm -f install.sh && exit 1 ;;
     esac
 }