28
28
cxx : clang++
29
29
30
30
# x86 (32-bit) gcc
31
- - arch : i686
31
+ - arch : x86
32
32
cc_pkg : gcc-i686-linux-gnu
33
33
cxx_pkg : g++-i686-linux-gnu
34
34
cc : i686-linux-gnu-gcc
@@ -49,14 +49,14 @@ jobs:
49
49
cxx : arm-linux-gnueabi-g++
50
50
51
51
# powerpc64
52
- - arch : powerpc64
52
+ - arch : ppc64
53
53
cc_pkg : gcc-powerpc64-linux-gnu
54
54
cxx_pkg : g++-powerpc64-linux-gnu
55
55
cc : powerpc64-linux-gnu-gcc
56
56
cxx : powerpc64-linux-gnu-g++
57
57
58
58
# powerpc
59
- - arch : powerpc
59
+ - arch : ppc
60
60
cc_pkg : gcc-powerpc-linux-gnu
61
61
cxx_pkg : g++-powerpc-linux-gnu
62
62
cc : powerpc-linux-gnu-gcc
85
85
86
86
env :
87
87
FLAGS : -g -O3 -Wall -Wextra -Werror
88
+ MESON_BUILDDIR : build
89
+ MESON_CROSS_FILE : /tmp/cross-env.txt
88
90
89
91
steps :
90
92
- name : Checkout source
@@ -114,7 +116,7 @@ jobs:
114
116
115
117
- name : Build nolibc
116
118
run : |
117
- if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "i686 " || "${{matrix.arch}}" == "aarch64" ]]; then \
119
+ if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "x86 " || "${{matrix.arch}}" == "aarch64" ]]; then \
118
120
make clean; \
119
121
./configure --cc=${{matrix.cc}} --cxx=${{matrix.cxx}} --nolibc; \
120
122
make -j$(nproc) V=1 CPPFLAGS="-Werror" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS"; \
@@ -125,3 +127,38 @@ jobs:
125
127
- name : Test install command
126
128
run : |
127
129
sudo make install;
130
+
131
+ - name : Install meson
132
+ run : |
133
+ sudo apt-get update -y;
134
+ sudo apt-get install -y meson;
135
+
136
+ - name : Generate meson cross file
137
+ run : |
138
+ { \
139
+ echo -e "[host_machine]\nsystem = 'linux'"; \
140
+ echo "cpu_family = '${{matrix.arch}}'"; \
141
+ echo "cpu = '${{matrix.arch}}'"; \
142
+ echo "endian = 'big'"; \
143
+ echo -e "[binaries]\nc = '/usr/bin/${{matrix.cc}}'"; \
144
+ echo "cpp = '/usr/bin/${{matrix.cxx}}'"; \
145
+ } > "$MESON_CROSS_FILE"
146
+
147
+ - name : Build with meson
148
+ run : |
149
+ meson setup "$MESON_BUILDDIR" -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE";
150
+ ninja -C "$MESON_BUILDDIR";
151
+
152
+ - name : Build nolibc with meson
153
+ run : |
154
+ if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "x86" || "${{matrix.arch}}" == "aarch64" ]]; then \
155
+ rm -r "$MESON_BUILDDIR"; \
156
+ meson setup "$MESON_BUILDDIR" -Dnolibc=true -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE"; \
157
+ ninja -C "$MESON_BUILDDIR"; \
158
+ else \
159
+ echo "Skipping nolibc build, this arch doesn't support building liburing without libc"; \
160
+ fi;
161
+
162
+ - name : Test meson install
163
+ run : |
164
+ sudo meson install -C "$MESON_BUILDDIR"
0 commit comments