Skip to content

Commit 6ab0e7c

Browse files
authored
docker: Add gfortran support (#1458)
Add gfortran support for all docker except target of `*-none*` and `*-andriod*`. Close #1457
2 parents 2de4d10 + 98942fd commit 6ab0e7c

29 files changed

+39
-10
lines changed

.changes/1458.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"description": "add gfortran for target *-gnu*, *-musl*, *-freebsd*, *-solaris*, *-dragonfly*, *-illumos*, *-netbsd*",
3+
"issues": [1457],
4+
"type": "added"
5+
6+
}

docker/Dockerfile.aarch64-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-aarch64-linux-gnu \
17+
gfortran-aarch64-linux-gnu \
1718
libc6-dev-arm64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.arm-unknown-linux-gnueabi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-arm-linux-gnueabi \
17+
gfortran-arm-linux-gnueabi \
1718
libc6-dev-armel-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.armv5te-unknown-linux-gnueabi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-arm-linux-gnueabi \
17+
gfortran-arm-linux-gnueabi \
1718
crossbuild-essential-armel \
1819
libc6-dev-armel-cross
1920

docker/Dockerfile.armv7-unknown-linux-gnueabi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get install --assume-yes --no-install-recommends \
1616
g++-arm-linux-gnueabi \
17+
gfortran-arm-linux-gnueabi \
1718
libc6-dev-armel-cross
1819

1920
COPY qemu.sh /

docker/Dockerfile.armv7-unknown-linux-gnueabihf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-arm-linux-gnueabihf \
17+
gfortran-arm-linux-gnueabihf \
1718
libc6-dev-armhf-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.i586-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-i686-linux-gnu \
17+
gfortran-i686-linux-gnu \
1718
libc6-dev-i386-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.i686-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-i686-linux-gnu \
17+
gfortran-i686-linux-gnu \
1718
libc6-dev-i386-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.mips-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get install --assume-yes --no-install-recommends \
1616
g++-mips-linux-gnu \
17+
gfortran-mips-linux-gnu \
1718
libc6-dev-mips-cross
1819

1920
COPY qemu.sh /

docker/Dockerfile.mips64-unknown-linux-gnuabi64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-mips64-linux-gnuabi64 \
17+
gfortran-mips64-linux-gnuabi64 \
1718
libc6-dev-mips64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.mips64el-unknown-linux-gnuabi64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-mips64el-linux-gnuabi64 \
17+
gfortran-mips64el-linux-gnuabi64 \
1718
libc6-dev-mips64el-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.mipsel-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-mipsel-linux-gnu \
17+
gfortran-mipsel-linux-gnu \
1718
libc6-dev-mipsel-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.powerpc-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-powerpc-linux-gnu \
17+
gfortran-powerpc-linux-gnu \
1718
libc6-dev-powerpc-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.powerpc64-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-powerpc64-linux-gnu \
17+
gfortran-powerpc64-linux-gnu \
1718
libc6-dev-ppc64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.powerpc64le-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-powerpc64le-linux-gnu \
17+
gfortran-powerpc64le-linux-gnu \
1718
libc6-dev-ppc64el-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.riscv64gc-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install -y --no-install-recommends \
1616
g++-riscv64-linux-gnu \
17+
gfortran-riscv64-linux-gnu \
1718
libc6-dev-riscv64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.s390x-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-s390x-linux-gnu \
17+
gfortran-s390x-linux-gnu \
1718
libc6-dev-s390x-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.sparc64-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-sparc64-linux-gnu \
17+
gfortran-sparc64-linux-gnu \
1718
libc6-dev-sparc64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/Dockerfile.thumbv7neon-unknown-linux-gnueabihf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-arm-linux-gnueabihf \
17+
gfortran-arm-linux-gnueabihf \
1718
libc6-dev-armhf-cross
1819

1920
COPY qemu.sh /

docker/Dockerfile.x86_64-pc-windows-gnu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RUN dpkg --add-architecture i386 && apt-get update && \
1818
COPY wine.sh /
1919
RUN /wine.sh
2020

21-
RUN apt-get update && apt-get install --assume-yes --no-install-recommends g++-mingw-w64-x86-64
21+
RUN apt-get update && apt-get install --assume-yes --no-install-recommends g++-mingw-w64-x86-64 gfortran-mingw-w64-x86-64
2222

2323
# run-detectors are responsible for calling the correct interpreter for exe
2424
# files. For some reason it does not work inside a docker container (it works

docker/Dockerfile.x86_64-unknown-linux-gnu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ FROM cross-base as build
1414

1515
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
1616
g++-x86-64-linux-gnu \
17+
gfortran-x86-64-linux-gnu \
1718
libc6-dev-amd64-cross
1819

1920
COPY deny-debian-packages.sh /

docker/aarch64-linux-gnu-glibc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ cp_gcc_archive() {
4040
main() {
4141
set_centos_ulimit
4242
yum install -y epel-release
43-
yum install -y gcc-aarch64-linux-gnu gcc-c++-aarch64-linux-gnu binutils-aarch64-linux-gnu binutils gcc-c++ glibc-devel
43+
yum install -y gcc-aarch64-linux-gnu gcc-c++-aarch64-linux-gnu gfortran-c++-aarch64-linux-gnu binutils-aarch64-linux-gnu binutils gcc-c++ glibc-devel
4444
yum clean all
4545

4646
local td

docker/common.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ install_packages \
3030
if_centos install_packages \
3131
clang-devel \
3232
gcc-c++ \
33+
gcc-gfortran \
3334
glibc-devel \
3435
pkgconfig
3536

3637
if_ubuntu install_packages \
3738
g++ \
39+
gfortran \
3840
libc6-dev \
3941
libclang-dev \
4042
pkg-config

docker/dragonfly.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ EOF
9595
--disable-lto \
9696
--disable-multilib \
9797
--disable-nls \
98-
--enable-languages=c,c++ \
98+
--enable-languages=c,c++,fortran \
9999
--target="${target}"
100100
make "-j${nproc}"
101101
make install

docker/freebsd.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ main() {
228228
--disable-libvtv \
229229
--disable-lto \
230230
--disable-nls \
231-
--enable-languages=c,c++ \
231+
--enable-languages=c,c++,fortran \
232232
--target="${target}"
233233
make "-j$(nproc)"
234234
make install

docker/illumos.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ main() {
104104
--target="${build_target}" \
105105
--program-prefix="${target}-" \
106106
--with-sysroot="${sysroot_dir}" \
107-
--enable-languages=c,c++ \
107+
--enable-languages=c,c++,fortran \
108108
--disable-libada \
109109
--disable-libcilkrts \
110110
--disable-libgomp \

docker/musl.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ main() {
5151
LINUX_HEADERS_SITE="${linux_headers_site}" \
5252
LINUX_VER="${linux_ver}" \
5353
OUTPUT=/usr/local/ \
54-
"GCC_CONFIG += --enable-default-pie" \
54+
"GCC_CONFIG += --enable-default-pie --enable-languages=c,c++,fortran" \
5555
"${@}"
5656

5757
purge_packages

docker/netbsd.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ main() {
3838
sed -i -e 's/ftp:/https:/g' ./contrib/download_prerequisites
3939
./contrib/download_prerequisites
4040
local patches=(
41-
https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/gcc9/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
4241
https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/gcc9/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__configure__char.cc
42+
https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/gcc9/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
43+
https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/gcc8/patches/patch-libgfortran_io_io.h
4344
)
4445

4546
local patch
@@ -92,7 +93,8 @@ main() {
9293
ln -s libutil.so.7.24 "${destdir}/lib/libutil.so.7"
9394

9495
pushd gcc-build
95-
../gcc/configure \
96+
# remove the environment variables after bumping the gcc version to 11.
97+
target_configargs="ac_cv_func_newlocale=no ac_cv_func_freelocale=no ac_cv_func_uselocale=no" ../gcc/configure \
9698
--disable-libada \
9799
--disable-libcilkrt \
98100
--disable-libcilkrts \
@@ -105,7 +107,7 @@ main() {
105107
--disable-lto \
106108
--disable-multilib \
107109
--disable-nls \
108-
--enable-languages=c,c++ \
110+
--enable-languages=c,c++,fortran \
109111
--target="${target}"
110112
make "-j$(nproc)"
111113
make install

docker/solaris.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ EOF
121121
--disable-lto \
122122
--disable-multilib \
123123
--disable-nls \
124-
--enable-languages=c,c++ \
124+
--enable-languages=c,c++,fortran \
125125
--with-gnu-as \
126126
--with-gnu-ld \
127127
--target="${target}"

0 commit comments

Comments
 (0)