Skip to content

Commit bbf599e

Browse files
committed
Add meson and ninja to all build containers
Includes cross compilation config for ARM
1 parent 2e4202d commit bbf599e

File tree

8 files changed

+76
-18
lines changed

8 files changed

+76
-18
lines changed

linux-arm64v8/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,18 @@ RUN \
99
apt-get install -y curl && \
1010
dpkg --add-architecture arm64 && \
1111
apt-get update && \
12-
apt-get install -y crossbuild-essential-arm64 autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake && \
12+
apt-get install -y crossbuild-essential-arm64 autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake python3-pip ninja-build && \
1313
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
14-
~/.cargo/bin/rustup target add aarch64-unknown-linux-gnu
14+
~/.cargo/bin/rustup target add aarch64-unknown-linux-gnu && \
15+
pip3 install meson
1516

1617
# Compiler settings
1718
ENV \
1819
PATH="/root/.cargo/bin:$PATH" \
1920
PLATFORM="linux-arm64v8" \
2021
CHOST="aarch64-linux-gnu" \
21-
FLAGS="-march=armv8-a -Os -D_GLIBCXX_USE_CXX11_ABI=0"
22+
FLAGS="-march=armv8-a -Os -D_GLIBCXX_USE_CXX11_ABI=0" \
23+
MESON="--cross-file=/root/meson.ini"
2224

2325
COPY Toolchain.cmake /root/
26+
COPY meson.ini /root/

linux-arm64v8/meson.ini

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[host_machine]
2+
system = 'linux'
3+
cpu_family = 'aarch64'
4+
cpu = 'armv8-a'
5+
endian = 'little'
6+
7+
[binaries]
8+
c = '/usr/bin/aarch64-linux-gnu-gcc'
9+
cpp = '/usr/bin/aarch64-linux-gnu-g++'
10+
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
11+
nm = '/usr/bin/aarch64-linux-gnu-gcc-nm'
12+
ld = '/usr/bin/aarch64-linux-gnu-gcc-ld'
13+
strip = '/usr/bin/aarch64-linux-gnu-strip'
14+
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
15+
ranlib = '/usr/bin/aarch64-linux-gnu-gcc-ranlib'

linux-armv6/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,21 @@ RUN \
99
apt-get install -y curl && \
1010
dpkg --add-architecture armhf && \
1111
apt-get update && \
12-
apt-get install -y autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake && \
12+
apt-get install -y autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake python3-pip ninja-build && \
1313
mkdir /root/tools && \
1414
curl -Ls https://github.com/rvagg/rpi-newer-crosstools/archive/master.tar.gz | tar xzC /root/tools --strip-components=1 && \
1515
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
16-
~/.cargo/bin/rustup target add arm-unknown-linux-gnueabihf
16+
~/.cargo/bin/rustup target add arm-unknown-linux-gnueabihf && \
17+
pip3 install meson
1718

1819
# Compiler settings
1920
ENV \
2021
PATH="/root/.cargo/bin:/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin:$PATH" \
2122
PLATFORM="linux-armv6" \
2223
CHOST="arm-rpi-linux-gnueabihf" \
2324
RUST_TARGET="arm-unknown-linux-gnueabihf" \
24-
FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Os -D_GLIBCXX_USE_CXX11_ABI=0"
25+
FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Os -D_GLIBCXX_USE_CXX11_ABI=0" \
26+
MESON="--cross-file=/root/meson.ini"
2527

2628
COPY Toolchain.cmake /root/
29+
COPY meson.ini /root/

linux-armv6/meson.ini

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[host_machine]
2+
system = 'linux'
3+
cpu_family = 'arm'
4+
cpu = 'armv6-a'
5+
endian = 'little'
6+
7+
[binaries]
8+
c = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc'
9+
cpp = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++'
10+
ar = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-ar'
11+
nm = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-nm'
12+
ld = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-ld'
13+
strip = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-strip'
14+
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
15+
ranlib = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-ranlib'

linux-armv7/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,18 @@ RUN \
99
apt-get install -y curl && \
1010
dpkg --add-architecture armhf && \
1111
apt-get update && \
12-
apt-get install -y crossbuild-essential-armhf autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake && \
12+
apt-get install -y crossbuild-essential-armhf autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev jq gettext intltool autopoint cmake python3-pip ninja-build && \
1313
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
14-
~/.cargo/bin/rustup target add arm-unknown-linux-gnueabihf
14+
~/.cargo/bin/rustup target add arm-unknown-linux-gnueabihf && \
15+
pip3 install meson
1516

1617
# Compiler settings
1718
ENV \
1819
PATH="/root/.cargo/bin:$PATH" \
1920
PLATFORM="linux-armv7" \
2021
CHOST="arm-linux-gnueabihf" \
21-
FLAGS="-marm -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -Os -D_GLIBCXX_USE_CXX11_ABI=0"
22+
FLAGS="-marm -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -Os -D_GLIBCXX_USE_CXX11_ABI=0" \
23+
MESON="--cross-file=/root/meson.ini"
2224

2325
COPY Toolchain.cmake /root/
26+
COPY meson.ini /root/

linux-armv7/meson.ini

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[host_machine]
2+
system = 'linux'
3+
cpu_family = 'arm'
4+
cpu = 'armv7-a'
5+
endian = 'little'
6+
7+
[binaries]
8+
c = '/usr/bin/arm-linux-gnueabihf-gcc'
9+
cpp = '/usr/bin/arm-linux-gnueabihf-g++'
10+
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'
11+
nm = '/usr/bin/arm-linux-gnueabihf-gcc-nm'
12+
ld = '/usr/bin/arm-linux-gnueabihf-gcc-ld'
13+
strip = '/usr/bin/arm-linux-gnueabihf-strip'
14+
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'
15+
ranlib = '/usr/bin/arm-linux-gnueabihf-gcc-ranlib'

linux-x64/Dockerfile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ MAINTAINER Lovell Fuller <[email protected]>
55

66
# Build dependencies
77
RUN \
8-
yum update -y \
9-
&& yum install -y epel-release centos-release-scl \
10-
&& yum group install -y "Development Tools" \
11-
&& yum install -y --setopt=tsflags=nodocs \
8+
yum update -y && \
9+
yum install -y epel-release centos-release-scl && \
10+
yum group install -y "Development Tools" && \
11+
yum install -y --setopt=tsflags=nodocs \
1212
advancecomp \
1313
cmake3 \
1414
devtoolset-8-gcc \
@@ -20,8 +20,11 @@ RUN \
2020
jq \
2121
nasm \
2222
prelink \
23-
&& curl https://sh.rustup.rs -sSf | sh -s -- -y \
24-
&& ln -s /usr/bin/cmake3 /usr/bin/cmake
23+
ninja-build && \
24+
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
25+
ln -s /usr/bin/cmake3 /usr/bin/cmake && \
26+
ln -s /usr/bin/ninja-build /usr/bin/ninja && \
27+
pip3 install meson
2528

2629
# Compiler settings
2730
ENV \

linuxmusl-x64/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ RUN \
88
apk update && apk upgrade && \
99
apk --update --no-cache add \
1010
build-base curl git autoconf automake libtool intltool shared-mime-info nasm gtk-doc \
11-
texinfo gperf glib-dev gobject-introspection-dev findutils jq linux-headers cmake && \
12-
apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/community/ add cargo && \
13-
apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/testing/ add advancecomp
11+
texinfo gperf glib-dev gobject-introspection-dev findutils jq linux-headers cmake binutils python3 ninja && \
12+
apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/v3.10/community/ add cargo && \
13+
apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/testing/ add advancecomp && \
14+
pip3 install meson
1415

1516
# Compiler settings
1617
ENV \

0 commit comments

Comments
 (0)