2828 cxx : clang++
2929
3030 # x86 (32-bit) gcc
31- - arch : i686
31+ - arch : x86
3232 cc_pkg : gcc-i686-linux-gnu
3333 cxx_pkg : g++-i686-linux-gnu
3434 cc : i686-linux-gnu-gcc
@@ -49,14 +49,14 @@ jobs:
4949 cxx : arm-linux-gnueabi-g++
5050
5151 # powerpc64
52- - arch : powerpc64
52+ - arch : ppc64
5353 cc_pkg : gcc-powerpc64-linux-gnu
5454 cxx_pkg : g++-powerpc64-linux-gnu
5555 cc : powerpc64-linux-gnu-gcc
5656 cxx : powerpc64-linux-gnu-g++
5757
5858 # powerpc
59- - arch : powerpc
59+ - arch : ppc
6060 cc_pkg : gcc-powerpc-linux-gnu
6161 cxx_pkg : g++-powerpc-linux-gnu
6262 cc : powerpc-linux-gnu-gcc
8585
8686 env :
8787 FLAGS : -g -O2 -Wall -Wextra -Werror
88+ MESON_BUILDDIR : build
89+ MESON_CROSS_FILE : /tmp/cross-env.txt
8890
8991 steps :
9092 - name : Checkout source
@@ -114,7 +116,7 @@ jobs:
114116
115117 - name : Build nolibc
116118 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 \
118120 make clean; \
119121 ./configure --cc=${{matrix.cc}} --cxx=${{matrix.cxx}} --nolibc; \
120122 make -j$(nproc) V=1 CPPFLAGS="-Werror" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS"; \
@@ -125,3 +127,42 @@ jobs:
125127 - name : Test install command
126128 run : |
127129 sudo make install;
130+
131+ - name : Install meson
132+ run : |
133+ sudo pip install meson;
134+
135+ - name : Install ninja
136+ run : |
137+ wget -qO /tmp/ninja.gz https://github.com/ninja-build/ninja/releases/latest/download/ninja-linux.zip;
138+ sudo bash -c 'cd /tmp; gunzip /tmp/ninja.gz; install -m 755 ninja /usr/bin/ninja';
139+
140+ - name : Generate meson cross file
141+ run : |
142+ { \
143+ echo -e "[host_machine]\nsystem = 'linux'"; \
144+ echo "cpu_family = '${{matrix.arch}}'"; \
145+ echo "cpu = '${{matrix.arch}}'"; \
146+ echo "endian = 'big'"; \
147+ echo -e "[binaries]\nc = '/usr/bin/${{matrix.cc}}'"; \
148+ echo "cpp = '/usr/bin/${{matrix.cxx}}'"; \
149+ } > "$MESON_CROSS_FILE"
150+
151+ - name : Build with meson
152+ run : |
153+ meson setup "$MESON_BUILDDIR" -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE";
154+ ninja -C "$MESON_BUILDDIR";
155+
156+ - name : Build nolibc with meson
157+ run : |
158+ if [[ "${{matrix.arch}}" == "x86_64" || "${{matrix.arch}}" == "x86" || "${{matrix.arch}}" == "aarch64" ]]; then \
159+ rm -r "$MESON_BUILDDIR"; \
160+ CC=${{matrix.cc}} CXX=${{matrix.cxx}} meson setup "$MESON_BUILDDIR" -Dnolibc=true -Dtests=true -Dexamples=true --cross-file "$MESON_CROSS_FILE"; \
161+ ninja -C "$MESON_BUILDDIR"; \
162+ else \
163+ echo "Skipping nolibc build, this arch doesn't support building liburing without libc"; \
164+ fi;
165+
166+ - name : Test meson install
167+ run : |
168+ sudo meson install -C "$MESON_BUILDDIR"
0 commit comments