-
Notifications
You must be signed in to change notification settings - Fork 386
159 lines (151 loc) · 4.8 KB
/
make.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Build Emulation Cores
on:
pull_request:
branches: [ "master" ]
paths: [ "waterbox/**" ]
push:
branches: [ "master" ]
paths: [ "waterbox/**" ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CC: clang-18
jobs:
build-waterbox:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Installing clang 18
run: wget https://apt.llvm.org/llvm.sh;
chmod u+x llvm.sh;
sudo ./llvm.sh 18;
clang-18 --version;
- name: Getting submodule(s)
working-directory: ./waterbox/
run: git submodule update --init musl
- name: Building musl
working-directory: ./waterbox/musl
run: ./wbox_configure.sh;
./wbox_build.sh;
- name: Building libcxx
working-directory: ./waterbox/libcxx
run: ./do-everything.sh
- name: Building nyma
working-directory: ./waterbox/nyma
run: ./build-and-install-zlib.sh
- name: Uploading compiled waterbox
uses: actions/upload-artifact@v4
with:
name: compiled-waterbox
path: waterbox/sysroot
build-waterboxed-cores:
runs-on: ubuntu-latest
needs: build-waterbox
steps:
- uses: actions/checkout@v4
- name: Getting submodule(s)
working-directory: ./waterbox/
run: git submodule update --init snes9x;
git submodule update --init melon/melonDS;
git submodule update --init nyma/mednafen;
git submodule update --init ares64/ares/thirdparty/angrylion-rdp;
git submodule update --init gpgx/Genesis-Plus-GX;
git submodule update --init ../submodules/sameboy/libsameboy;
git submodule update --init uae/libretro-uae;
git submodule update --init stella/core;
- name: Download compiled waterbox
uses: actions/download-artifact@v4
with:
name: compiled-waterbox
path: waterbox/sysroot
- name: Installing clang 18
run: wget https://apt.llvm.org/llvm.sh;
chmod u+x llvm.sh;
sudo ./llvm.sh 18;
clang-18 --version;
- name: Giving execution permission to compiler
working-directory: ./waterbox/sysroot
run: chmod u+x bin/*
- name: Building cores
working-directory: ./waterbox/
run: ./make-all-cores.sh install
- name: Upload waterbox cores
uses: actions/upload-artifact@v4
with:
name: waterbox-cores
path: |
Assets/dll/ares64_interpreter.wbx.zst
Assets/dll/ares64_recompiler.wbx.zst
Assets/dll/bsnes.wbx.zst
Assets/dll/faust.wbx.zst
Assets/dll/gpgx.wbx.zst
Assets/dll/hyper.wbx.zst
Assets/dll/libsnes.wbx.zst
Assets/dll/melonDS.wbx.zst
Assets/dll/ngp.wbx.zst
Assets/dll/pcfx.wbx.zst
Assets/dll/picodrive.wbx.zst
Assets/dll/puae.wbx.zst
Assets/dll/shock.wbx.zst
Assets/dll/snes9x.wbx.zst
Assets/dll/ss.wbx.zst
Assets/dll/tic80.wbx.zst
Assets/dll/turbo.wbx.zst
Assets/dll/uzem.wbx.zst
Assets/dll/vb.wbx.zst
Assets/dll/stella.wbx.zst
Assets/dll/virtualjaguar.wbx.zst
build-mame:
runs-on: ubuntu-latest
needs: build-waterbox
steps:
- uses: actions/checkout@v4
- name: Getting submodule(s)
working-directory: ./waterbox/
run: git submodule update --init mame-arcade/mame
- name: Download compiled waterbox
uses: actions/download-artifact@v4
with:
name: compiled-waterbox
path: waterbox/sysroot
- name: Installing clang 18
run: wget https://apt.llvm.org/llvm.sh;
chmod u+x llvm.sh;
sudo ./llvm.sh 18;
clang-18 --version;
- name: Giving execution permission to compiler
working-directory: ./waterbox/sysroot
run: chmod u+x bin/*
- name: Build emulibc
working-directory: ./waterbox/emulibc
run: make -j4
- name: Build libco
working-directory: ./waterbox/libco
run: make -j4
- name: Building MAME
working-directory: ./waterbox/mame-arcade
run: make -j4 install
- name: Upload mame core
uses: actions/upload-artifact@v4
with:
name: mame-core
path: |
Assets/dll/libmamearcade.wbx.zst
build-quickernes:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Getting submodule(s)
working-directory: ./quicknes
run: git submodule update --recursive --init core
- name: Building QuickerNES core (Linux)
working-directory: ./quicknes/make
run: make -j4; make install
- name: Upload quicknes core
uses: actions/upload-artifact@v4
with:
name: quicknes-core
path: |
Assets/dll/libquicknes.so