Skip to content

Commit a2f45b7

Browse files
committed
Rename toolchain file envvars to be target specific.
1 parent 8c354ae commit a2f45b7

File tree

49 files changed

+153
-199
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+153
-199
lines changed

docker/Dockerfile.aarch64-linux-android

+4-5
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@ COPY android-symlink.sh /
3939
RUN /android-symlink.sh aarch64 aarch64-linux-android
4040

4141
COPY android-runner /
42-
43-
COPY android.cmake /opt/android.cmake
44-
ENV CMAKE_TOOLCHAIN_FILE=/opt/android.cmake
45-
ENV CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"
42+
COPY android.cmake /opt/toolchain.cmake
4643

4744
# Libz is distributed in the android ndk, but for some unknown reason it is not
4845
# found in the build process of some crates, so we explicit set the DEP_Z_ROOT
@@ -62,6 +59,7 @@ ENV CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
6259
SIZE_aarch64_linux_android="$CROSS_TOOLCHAIN_PREFIX"size \
6360
STRINGS_aarch64_linux_android="$CROSS_TOOLCHAIN_PREFIX"strings \
6461
STRIP_aarch64_linux_android="$CROSS_TOOLCHAIN_PREFIX"strip \
62+
CMAKE_TOOLCHAIN_FILE_aarch64_linux_android=/opt/toolchain.cmake \
6563
BINDGEN_EXTRA_CLANG_ARGS_aarch64_linux_android="--sysroot=$CROSS_SYSROOT" \
6664
DEP_Z_INCLUDE="$CROSS_SYSROOT/usr/include"/ \
6765
RUST_TEST_THREADS=1 \
@@ -72,4 +70,5 @@ ENV CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
7270
ANDROID_ROOT=/system \
7371
CROSS_CMAKE_SYSTEM_NAME=Android \
7472
CROSS_CMAKE_SYSTEM_PROCESSOR=aarch64 \
75-
CROSS_CMAKE_CRT=android
73+
CROSS_CMAKE_CRT=android \
74+
CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"

docker/Dockerfile.aarch64-unknown-linux-gnu

+3-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ COPY linux-image.sh /
2929
RUN /linux-image.sh aarch64
3030

3131
COPY linux-runner base-runner.sh /
32-
3332
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC"
3633

3734
ENV CROSS_TOOLCHAIN_PREFIX=aarch64-linux-gnu-
3835
ENV CROSS_SYSROOT=/usr/aarch64-linux-gnu
@@ -41,10 +38,12 @@ ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
4138
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \
4239
CC_aarch64_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"gcc \
4340
CXX_aarch64_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"g++ \
41+
CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_gnu=/opt/toolchain.cmake \
4442
BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu="--sysroot=$CROSS_SYSROOT" \
4543
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4644
RUST_TEST_THREADS=1 \
4745
PKG_CONFIG_PATH="/usr/lib/aarch64-linux-gnu/pkgconfig/:${PKG_CONFIG_PATH}" \
4846
CROSS_CMAKE_SYSTEM_NAME=Linux \
4947
CROSS_CMAKE_SYSTEM_PROCESSOR=aarch64 \
50-
CROSS_CMAKE_CRT=gnu
48+
CROSS_CMAKE_CRT=gnu \
49+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC"

docker/Dockerfile.aarch64-unknown-linux-gnu.centos

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ COPY aarch64-linux-gnu-glibc.sh /
3131
RUN /aarch64-linux-gnu-glibc.sh
3232

3333
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC"
3634

3735
ENV CROSS_TOOLCHAIN_PREFIX=aarch64-linux-gnu-
3836
ENV CROSS_SYSROOT=/usr/aarch64-linux-gnu
@@ -41,9 +39,11 @@ ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
4139
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \
4240
CC_aarch64_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"gcc \
4341
CXX_aarch64_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"g++ \
42+
CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_gnu=/opt/toolchain.cmake \
4443
BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu="--sysroot=$CROSS_SYSROOT" \
4544
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4645
RUST_TEST_THREADS=1 \
4746
CROSS_CMAKE_SYSTEM_NAME=Linux \
4847
CROSS_CMAKE_SYSTEM_PROCESSOR=aarch64 \
49-
CROSS_CMAKE_CRT=gnu
48+
CROSS_CMAKE_CRT=gnu \
49+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC"

docker/Dockerfile.arm-linux-androideabi

+4-5
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@ COPY android-symlink.sh /
3939
RUN /android-symlink.sh arm arm-linux-androideabi
4040

4141
COPY android-runner /
42-
43-
COPY android.cmake /opt/android.cmake
44-
ENV CMAKE_TOOLCHAIN_FILE=/opt/android.cmake
45-
ENV CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"
42+
COPY android.cmake /opt/toolchain.cmake
4643

4744
# Libz is distributed in the android ndk, but for some unknown reason it is not
4845
# found in the build process of some crates, so we explicit set the DEP_Z_ROOT
@@ -62,6 +59,7 @@ ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
6259
SIZE_arm_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"size \
6360
STRINGS_arm_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"strings \
6461
STRIP_arm_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"strip \
62+
CMAKE_TOOLCHAIN_FILE_arm_linux_androideabi=/opt/toolchain.cmake \
6563
BINDGEN_EXTRA_CLANG_ARGS_arm_linux_androideabi="--sysroot=$CROSS_SYSROOT" \
6664
DEP_Z_INCLUDE="$CROSS_SYSROOT/usr/include/" \
6765
RUST_TEST_THREADS=1 \
@@ -72,4 +70,5 @@ ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
7270
ANDROID_ROOT=/system \
7371
CROSS_CMAKE_SYSTEM_NAME=Android \
7472
CROSS_CMAKE_SYSTEM_PROCESSOR=armv5te \
75-
CROSS_CMAKE_CRT=android
73+
CROSS_CMAKE_CRT=android \
74+
CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"

docker/Dockerfile.arm-unknown-linux-gnueabi

+3-4
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ COPY qemu.sh /
2323
RUN /qemu.sh arm
2424

2525
COPY qemu-runner base-runner.sh /
26-
2726
COPY toolchain.cmake /opt/toolchain.cmake
28-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
29-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfloat-abi=soft"
3027

3128
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
3229
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
@@ -35,10 +32,12 @@ ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3532
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \
3633
CC_arm_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"gcc \
3734
CXX_arm_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"g++ \
35+
CMAKE_TOOLCHAIN_FILE_arm_unknown_linux_gnueabi=/opt/toolchain.cmake \
3836
BINDGEN_EXTRA_CLANG_ARGS_arm_unknown_linux_gnueabi="--sysroot=$CROSS_SYSROOT" \
3937
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4038
RUST_TEST_THREADS=1 \
4139
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabi/pkgconfig/:${PKG_CONFIG_PATH}" \
4240
CROSS_CMAKE_SYSTEM_NAME=Linux \
4341
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
44-
CROSS_CMAKE_CRT=gnu
42+
CROSS_CMAKE_CRT=gnu \
43+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfloat-abi=soft"

docker/Dockerfile.arm-unknown-linux-gnueabihf

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ COPY qemu.sh /
2424
RUN /qemu.sh arm
2525

2626
COPY qemu-runner base-runner.sh /
27-
2827
COPY toolchain.cmake /opt/toolchain.cmake
29-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
30-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfpu=vfp"
3128

3229
ENV CROSS_TOOLCHAIN_PREFIX=arm-unknown-linux-gnueabihf-
3330
ENV CROSS_SYSROOT=/x-tools/arm-unknown-linux-gnueabihf/arm-unknown-linux-gnueabihf/sysroot/
@@ -36,9 +33,11 @@ ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc
3633
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$CROSS_TARGET_RUNNER" \
3734
CC_arm_unknown_linux_gnueabihf="$CROSS_TOOLCHAIN_PREFIX"gcc \
3835
CXX_arm_unknown_linux_gnueabihf="$CROSS_TOOLCHAIN_PREFIX"g++ \
36+
CMAKE_TOOLCHAIN_FILE_arm_unknown_linux_gnueabihf=/opt/toolchain.cmake \
3937
BINDGEN_EXTRA_CLANG_ARGS_arm_unknown_linux_gnueabihf="--sysroot=$CROSS_SYSROOT" \
4038
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4139
RUST_TEST_THREADS=1 \
4240
CROSS_CMAKE_SYSTEM_NAME=Linux \
4341
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
44-
CROSS_CMAKE_CRT=gnu
42+
CROSS_CMAKE_CRT=gnu \
43+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfpu=vfp"

docker/Dockerfile.arm-unknown-linux-musleabi

+3-5
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,19 @@ COPY musl-symlink.sh /
2626
RUN /musl-symlink.sh $CROSS_SYSROOT arm
2727

2828
COPY qemu-runner base-runner.sh /
29-
3029
COPY musl-gcc.sh /usr/bin/"$CROSS_TOOLCHAIN_PREFIX"gcc.sh
31-
3230
COPY toolchain.cmake /opt/toolchain.cmake
33-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
34-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfloat-abi=soft"
3531

3632
ENV CROSS_TARGET_RUNNER="/qemu-runner arm"
3733
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc.sh \
3834
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_RUNNER="$CROSS_TARGET_RUNNER" \
3935
CC_arm_unknown_linux_musleabi="$CROSS_TOOLCHAIN_PREFIX"gcc \
4036
CXX_arm_unknown_linux_musleabi="$CROSS_TOOLCHAIN_PREFIX"g++ \
37+
CMAKE_TOOLCHAIN_FILE_arm_unknown_linux_musleabi=/opt/toolchain.cmake \
4138
BINDGEN_EXTRA_CLANG_ARGS_arm_unknown_linux_musleabi="--sysroot=$CROSS_SYSROOT" \
4239
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4340
RUST_TEST_THREADS=1 \
4441
CROSS_CMAKE_SYSTEM_NAME=Linux \
4542
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
46-
CROSS_CMAKE_CRT=musl
43+
CROSS_CMAKE_CRT=musl \
44+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfloat-abi=soft"

docker/Dockerfile.arm-unknown-linux-musleabihf

+3-5
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,19 @@ COPY musl-symlink.sh /
2727
RUN /musl-symlink.sh $CROSS_SYSROOT armhf
2828

2929
COPY qemu-runner base-runner.sh /
30-
3130
COPY musl-gcc.sh /usr/bin/"$CROSS_TOOLCHAIN_PREFIX"gcc.sh
32-
3331
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfpu=vfp"
3632

3733
ENV CROSS_TARGET_RUNNER="/qemu-runner armhf"
3834
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc.sh \
3935
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="$CROSS_TARGET_RUNNER" \
4036
CC_arm_unknown_linux_musleabihf="$CROSS_TOOLCHAIN_PREFIX"gcc \
4137
CXX_arm_unknown_linux_musleabihf="$CROSS_TOOLCHAIN_PREFIX"g++ \
38+
CMAKE_TOOLCHAIN_FILE_arm_unknown_linux_musleabihf=/opt/toolchain.cmake \
4239
BINDGEN_EXTRA_CLANG_ARGS_arm_unknown_linux_musleabihf="--sysroot=$CROSS_SYSROOT" \
4340
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4441
RUST_TEST_THREADS=1 \
4542
CROSS_CMAKE_SYSTEM_NAME=Linux \
4643
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
47-
CROSS_CMAKE_CRT=musl
44+
CROSS_CMAKE_CRT=musl \
45+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv6 -marm -mfpu=vfp"

docker/Dockerfile.armv5te-unknown-linux-gnueabi

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ COPY qemu.sh /
2424
RUN /qemu.sh arm
2525

2626
COPY qemu-runner base-runner.sh /
27-
2827
COPY toolchain.cmake /opt/toolchain.cmake
29-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
30-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv5te -marm -mfloat-abi=soft"
3128

3229
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
3330
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
@@ -36,10 +33,12 @@ ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"g
3633
CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \
3734
CC_armv5te_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"gcc \
3835
CXX_armv5te_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"g++ \
36+
CMAKE_TOOLCHAIN_FILE_armv5te_unknown_linux_gnueabi=/opt/toolchain.cmake \
3937
BINDGEN_EXTRA_CLANG_ARGS_armv5te_unknown_linux_gnueabi="--sysroot=$CROSS_SYSROOT" \
4038
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4139
RUST_TEST_THREADS=1 \
4240
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabi/pkgconfig/:${PKG_CONFIG_PATH}" \
4341
CROSS_CMAKE_SYSTEM_NAME=Linux \
4442
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
45-
CROSS_CMAKE_CRT=gnu
43+
CROSS_CMAKE_CRT=gnu \
44+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv5te -marm -mfloat-abi=soft"

docker/Dockerfile.armv7-linux-androideabi

+4-5
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@ COPY android-symlink.sh /
3939
RUN /android-symlink.sh arm arm-linux-androideabi
4040

4141
COPY android-runner /
42-
43-
COPY android.cmake /opt/android.cmake
44-
ENV CMAKE_TOOLCHAIN_FILE=/opt/android.cmake
45-
ENV CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"
42+
COPY android.cmake /opt/toolchain.cmake
4643

4744
# Libz is distributed in the android ndk, but for some unknown reason it is not
4845
# found in the build process of some crates, so we explicit set the DEP_Z_ROOT
@@ -62,6 +59,7 @@ ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
6259
SIZE_armv7_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"size \
6360
STRINGS_armv7_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"strings \
6461
STRIP_armv7_linux_androideabi="$CROSS_TOOLCHAIN_PREFIX"strip \
62+
CMAKE_TOOLCHAIN_FILE_armv7_linux_androideabi=/opt/toolchain.cmake \
6563
BINDGEN_EXTRA_CLANG_ARGS_armv7_linux_androideabi="--sysroot=$CROSS_SYSROOT" \
6664
DEP_Z_INCLUDE="$CROSS_SYSROOT/usr/include/" \
6765
RUST_TEST_THREADS=1 \
@@ -72,4 +70,5 @@ ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
7270
ANDROID_ROOT=/system \
7371
CROSS_CMAKE_SYSTEM_NAME=Android \
7472
CROSS_CMAKE_SYSTEM_PROCESSOR=armv7-a \
75-
CROSS_CMAKE_CRT=android
73+
CROSS_CMAKE_CRT=android \
74+
CROSS_CMAKE_OBJECT_FLAGS="-DANDROID -ffunction-sections -fdata-sections -fPIC"

docker/Dockerfile.armv7-unknown-linux-gnueabi

+3-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ COPY qemu.sh /
1818
RUN /qemu.sh arm
1919

2020
COPY qemu-runner base-runner.sh /
21-
2221
COPY toolchain.cmake /opt/toolchain.cmake
23-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
24-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a"
2522

2623
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabi-
2724
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabi
@@ -30,10 +27,12 @@ ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc
3027
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABI_RUNNER="$CROSS_TARGET_RUNNER" \
3128
CC_armv7_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"gcc \
3229
CXX_armv7_unknown_linux_gnueabi="$CROSS_TOOLCHAIN_PREFIX"g++ \
30+
CMAKE_TOOLCHAIN_FILE_armv7_unknown_linux_gnueabi=/opt/toolchain.cmake \
3331
BINDGEN_EXTRA_CLANG_ARGS_armv7_unknown_linux_gnueabi="--sysroot=$CROSS_SYSROOT" \
3432
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
3533
RUST_TEST_THREADS=1 \
3634
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabi/pkgconfig/:${PKG_CONFIG_PATH}" \
3735
CROSS_CMAKE_SYSTEM_NAME=Linux \
3836
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
39-
CROSS_CMAKE_CRT=gnu
37+
CROSS_CMAKE_CRT=gnu \
38+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a"

docker/Dockerfile.armv7-unknown-linux-gnueabihf

+3-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ COPY linux-image.sh /
2929
RUN /linux-image.sh armv7
3030

3131
COPY linux-runner base-runner.sh /
32-
3332
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a -mfpu=vfpv3-d16"
3633

3734
ENV CROSS_TOOLCHAIN_PREFIX=arm-linux-gnueabihf-
3835
ENV CROSS_SYSROOT=/usr/arm-linux-gnueabihf
@@ -41,10 +38,12 @@ ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="$CROSS_TOOLCHAIN_PREFIX"g
4138
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$CROSS_TARGET_RUNNER" \
4239
CC_armv7_unknown_linux_gnueabihf="$CROSS_TOOLCHAIN_PREFIX"gcc \
4340
CXX_armv7_unknown_linux_gnueabihf="$CROSS_TOOLCHAIN_PREFIX"g++ \
41+
CMAKE_TOOLCHAIN_FILE_armv7_unknown_linux_gnueabihf=/opt/toolchain.cmake \
4442
BINDGEN_EXTRA_CLANG_ARGS_armv7_unknown_linux_gnueabihf="--sysroot=$CROSS_SYSROOT" \
4543
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4644
RUST_TEST_THREADS=1 \
4745
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabihf/pkgconfig/:${PKG_CONFIG_PATH}" \
4846
CROSS_CMAKE_SYSTEM_NAME=Linux \
4947
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
50-
CROSS_CMAKE_CRT=gnu
48+
CROSS_CMAKE_CRT=gnu \
49+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a -mfpu=vfpv3-d16"

docker/Dockerfile.armv7-unknown-linux-musleabi

+3-5
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,19 @@ COPY musl-symlink.sh /
2727
RUN /musl-symlink.sh $CROSS_SYSROOT arm
2828

2929
COPY qemu-runner base-runner.sh /
30-
3130
COPY musl-gcc.sh /usr/bin/"$CROSS_TOOLCHAIN_PREFIX"gcc.sh
32-
3331
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a"
3632

3733
ENV CROSS_TARGET_RUNNER="/qemu-runner armv7"
3834
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABI_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc.sh \
3935
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABI_RUNNER="$CROSS_TARGET_RUNNER" \
4036
CC_armv7_unknown_linux_musleabi="$CROSS_TOOLCHAIN_PREFIX"gcc \
4137
CXX_armv7_unknown_linux_musleabi="$CROSS_TOOLCHAIN_PREFIX"g++ \
38+
CMAKE_TOOLCHAIN_FILE_armv7_unknown_linux_musleabi=/opt/toolchain.cmake \
4239
BINDGEN_EXTRA_CLANG_ARGS_armv7_unknown_linux_musleabi="--sysroot=$CROSS_SYSROOT" \
4340
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4441
RUST_TEST_THREADS=1 \
4542
CROSS_CMAKE_SYSTEM_NAME=Linux \
4643
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
47-
CROSS_CMAKE_CRT=musl
44+
CROSS_CMAKE_CRT=musl \
45+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a"

docker/Dockerfile.armv7-unknown-linux-musleabihf

+3-5
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,19 @@ COPY musl-symlink.sh /
2727
RUN /musl-symlink.sh $CROSS_SYSROOT armhf
2828

2929
COPY qemu-runner base-runner.sh /
30-
3130
COPY musl-gcc.sh /usr/bin/"$CROSS_TOOLCHAIN_PREFIX"gcc.sh
32-
3331
COPY toolchain.cmake /opt/toolchain.cmake
34-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
35-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a -mfpu=vfpv3-d16"
3632

3733
ENV CROSS_TARGET_RUNNER="/qemu-runner armv7hf"
3834
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc.sh \
3935
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="$CROSS_TARGET_RUNNER" \
4036
CC_armv7_unknown_linux_musleabihf="$CROSS_TOOLCHAIN_PREFIX"gcc \
4137
CXX_armv7_unknown_linux_musleabihf="$CROSS_TOOLCHAIN_PREFIX"g++ \
38+
CMAKE_TOOLCHAIN_FILE_armv7_unknown_linux_musleabihf=/opt/toolchain.cmake \
4239
BINDGEN_EXTRA_CLANG_ARGS_armv7_unknown_linux_musleabihf="--sysroot=$CROSS_SYSROOT" \
4340
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4441
RUST_TEST_THREADS=1 \
4542
CROSS_CMAKE_SYSTEM_NAME=Linux \
4643
CROSS_CMAKE_SYSTEM_PROCESSOR=arm \
47-
CROSS_CMAKE_CRT=musl
44+
CROSS_CMAKE_CRT=musl \
45+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -march=armv7-a -mfpu=vfpv3-d16"

docker/Dockerfile.i586-unknown-linux-gnu

+3-4
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ COPY qemu.sh /
2323
RUN /qemu.sh i386
2424

2525
COPY qemu-runner base-runner.sh /
26-
2726
COPY toolchain.cmake /opt/toolchain.cmake
28-
ENV CMAKE_TOOLCHAIN_FILE=/opt/toolchain.cmake
29-
ENV CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -m32 -march=pentium"
3027

3128
ENV CROSS_TOOLCHAIN_PREFIX=i686-linux-gnu-
3229
ENV CROSS_SYSROOT=/usr/i686-linux-gnu
@@ -35,10 +32,12 @@ ENV CARGO_TARGET_I586_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc \
3532
CARGO_TARGET_I586_UNKNOWN_LINUX_GNU_RUNNER="$CROSS_TARGET_RUNNER" \
3633
CC_i586_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"gcc \
3734
CXX_i586_unknown_linux_gnu="$CROSS_TOOLCHAIN_PREFIX"g++ \
35+
CMAKE_TOOLCHAIN_FILE_i586_unknown_linux_gnu=/opt/toolchain.cmake \
3836
BINDGEN_EXTRA_CLANG_ARGS_i586_unknown_linux_gnu="--sysroot=$CROSS_SYSROOT" \
3937
QEMU_LD_PREFIX="$CROSS_SYSROOT" \
4038
RUST_TEST_THREADS=1 \
4139
PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig/:${PKG_CONFIG_PATH}" \
4240
CROSS_CMAKE_SYSTEM_NAME=Linux \
4341
CROSS_CMAKE_SYSTEM_PROCESSOR=x86 \
44-
CROSS_CMAKE_CRT=gnu
42+
CROSS_CMAKE_CRT=gnu \
43+
CROSS_CMAKE_OBJECT_FLAGS="-ffunction-sections -fdata-sections -fPIC -m32 -march=pentium"

0 commit comments

Comments
 (0)