File tree 6 files changed +109
-0
lines changed
6 files changed +109
-0
lines changed Original file line number Diff line number Diff line change 40
40
# - os: ubuntu-aarch64-20.04
41
41
# targetos: linux
42
42
# targetarch: aarch64
43
+ - os : ubuntu-latest
44
+ targetos : linux
45
+ targetarch : e2k-8c
46
+ cross : true
43
47
- os : ubuntu-20.04
44
48
targetos : android
45
49
targetarch : multiarch
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ . scripts/lib.sh
6
+ . scripts/lib-e2k.sh
7
+
8
+ export CC=${E2K_CROSS_COMPILER_PATH[$GH_CPU_ARCH]} /bin/lcc
9
+ export CXX=${E2K_CROSS_COMPILER_PATH[$GH_CPU_ARCH]} /bin/l++
10
+
11
+ APP=xash3d-fwgs
12
+
13
+ APPDIR=$APP -linux-$ARCH # FIXME: not conforms to libpublic's build arch strings but in parity with xashds directory name
14
+ APPTARGZ=$APP -linux-$ARCH .tar.gz
15
+
16
+ DS=xashds-linux
17
+ DSDIR=$DS -$ARCH
18
+ DSTARGZ=$DS -$ARCH .tar.gz
19
+
20
+ build_engine ()
21
+ {
22
+ # Build engine
23
+ cd " $BUILDDIR "
24
+
25
+ ./waf configure --enable-dedicated -s usr --enable-stbtt --enable-utils --enable-bundled-deps --enable-all-renderers || die_configure
26
+ ./waf build || die_configure
27
+ }
28
+
29
+ make_client_tarball ()
30
+ {
31
+ cd " $BUILDDIR "
32
+ ./waf install --destdir=" $APPDIR "
33
+ tar -czvf " artifacts/$APPTARGZ " " $APPDIR "
34
+ }
35
+
36
+ make_server_tarball ()
37
+ {
38
+ cd " $BUILDDIR "
39
+
40
+ # FIXME: make an option for Waf to only install dedicated
41
+ mkdir -p " $DSDIR "
42
+ cp -v " $APPDIR " /xash " $APPDIR " /filesystem_stdio.so " $DSDIR "
43
+ tar -czvf " artifacts/$DSTARGZ " " $DSDIR "
44
+ }
45
+
46
+ mkdir -p artifacts/
47
+
48
+ rm -rf build # clean-up build directory
49
+ build_engine
50
+
51
+ make_client_tarball
52
+ make_server_tarball
Original file line number Diff line number Diff line change 1
1
#! /bin/bash
2
2
3
+ # As e2k builds for distro that's vastly different from Ubuntu/Debian and specially handles cross-compiling
4
+ # keep it in separate script for now
5
+ if [[ $GH_CPU_ARCH == e2k* ]]; then
6
+ exec bash scripts/gha/build_linux-e2k.sh
7
+ fi
8
+
3
9
. scripts/lib.sh
4
10
5
11
# "booo, bash feature!"
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ cd " $GITHUB_WORKSPACE "
6
+
7
+ . scripts/lib-e2k.sh
8
+
9
+ wget " ${E2K_CROSS_COMPILER_URL[$GH_CPU_ARCH]} " -O- | sudo tar -C / -xzvf -
10
+
11
+ for i in ${E2K_PACKAGES_URLS[$GH_CPU_ARCH]} ; do
12
+ wget " $i " -O package.deb
13
+ ar x package.deb data.tar.xz
14
+ tar -xvf data.tar.xz
15
+ rm package.deb data.tar.xz
16
+ done
Original file line number Diff line number Diff line change 1
1
#! /bin/bash
2
2
3
+ # As e2k builds for distro that's vastly different from Ubuntu/Debian and specially handles cross-compiling
4
+ # keep it in separate script for now
5
+ if [[ $GH_CPU_ARCH == e2k* ]]; then
6
+ exec bash scripts/gha/deps_linux-e2k.sh
7
+ fi
8
+
3
9
. scripts/lib.sh
4
10
5
11
cd " $GITHUB_WORKSPACE " || exit 1
Original file line number Diff line number Diff line change
1
+ declare -A E2K_CROSS_COMPILER_URL E2K_CROSS_COMPILER_PATH E2K_PACKAGES_URLS
2
+
3
+ # NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
4
+ # NOTE NOTE
5
+ # NOTE The cross-compiler is officially distributed on dev.mcst.ru website. NOTE
6
+ # NOTE setwd.ws is OpenE2K's unofficial mirror for Elbrus dev community. NOTE
7
+ # NOTE Do NOT hammer down the server with your CI/CD, AI and other bullshit! NOTE
8
+ # NOTE Cache the archives on YOUR OWN INFRASTRUCTURE! NOTE
9
+ # NOTE NOTE
10
+ # NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
11
+ E2K_CROSS_COMPILER_URL[e2k-4c]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v3.5.10_64.tgz"
12
+ E2K_CROSS_COMPILER_URL[e2k-1c]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v4.1c%2B.5.10_64.tgz"
13
+ E2K_CROSS_COMPILER_URL[e2k-8c]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v4.5.10_64.tgz"
14
+ E2K_CROSS_COMPILER_URL[e2k-8c2]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v5.5.10_64.tgz"
15
+ E2K_CROSS_COMPILER_URL[e2k-16c]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v6.5.10-e16c_64.tgz"
16
+ E2K_CROSS_COMPILER_URL[e2k-2c3]=" https://setwd.ws/sp/1.27/1.27.21/cross-sp-rel-1.27.21.e2k-v6.5.10-e2c3_64.tgz"
17
+
18
+ # TODO: fill in the gaps
19
+ E2K_CROSS_COMPILER_PATH[e2k-8c]=" /opt/mcst/lcc-1.27.21.e2k-v4.5.10/"
20
+
21
+ # TODO: split by some character, as bash can't assign lists to array members
22
+ E2K_PACKAGES_URLS[e2k-4c]=" https://setwd.ws/osl/8.2/pool/main/e2k-4c/SDL2_2.30.0-vd8u4_e2k-4c.deb"
23
+ E2K_PACKAGES_URLS[e2k-8c]=" https://setwd.ws/osl/8.2/pool/main/e2k-8c/SDL2_2.30.0-vd8u4_e2k-8c.deb"
24
+ E2K_PACKAGES_URLS[e2k-8c2]=" https://setwd.ws/osl/8.2/pool/main/e2k-8c2/SDL2_2.30.0-vd8u4_e2k-8c2.deb"
25
+ E2K_PACKAGES_URLS[e2k-16c]=" https://setwd.ws/osl/8.2/pool/main/e2k-16c/SDL2_2.30.0-vd8u4_e2k-16c.deb"
You can’t perform that action at this time.
0 commit comments