Skip to content

gcc: add version 14.1.0 #287

Merged
merged 1 commit into from
Aug 8, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
76 changes: 76 additions & 0 deletions gcc-14.1.0-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#! /bin/bash

# Note: Depending on the value in /proc/sys/vm/overcommit_memory (0|2)
# results of make check differ, but neither one succeeds.

PKG=gcc
VERSION=14.1.0
BUILD=0
# URL=https://ftp.gnu.org/gnu/gcc/gcc-${VERSION}/gcc-${VERSION}.tar.gz
URL=https://beehive.molgen.mpg.de/195a75ef5205a75b6bee49c8fcfc564b/gcc-14.1.0.tar.gz

PREFIX=/pkg/$PKG-$VERSION-$BUILD
if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi

set -xe
umask 022

BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp
test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR )
mkdir -p $BUILD_TMPDIR/home
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home

exec </dev/null

mkdir -p $PREFIX
cat >$PREFIX/profile <<-EOF
PATH=$PREFIX/bin:\$PATH
export LD_LIBRARY_PATH=$PREFIX/lib\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi
EOF
. $PREFIX/profile

NPROC=$(( $(nproc) * 4 / 5 + 1 ))
export MAKEFLAGS="-j $NPROC"

BUILDDIR=$PREFIX/build

mkdir -p $BUILDDIR
cd $BUILDDIR

test -e gcc-${VERSION}.tar.gz || wget --no-verbose $URL
test -d gcc-$VERSION || tar xvf gcc-${VERSION}.tar.gz
cd gcc-$VERSION
mkdir -p objdir
cd objdir
# Note on languages: go and lto are not part of the mpi default install,
# here they are enabled just for testing/fun
$BUILDDIR/gcc-$VERSION/configure \
--prefix=$PREFIX \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--enable-languages=c,fortran,c++,objc,obj-c++,go,lto \
--disable-multilib \
--with-system-zlib \
--with-diagnostics-color=auto-if-env

make
# /dev/shm/gcc-8.4.0-0/build/gcc-8.4.0/objdir/check.log
make -k check |& tee check.log
make install

cd $PREFIX
mkdir -vp lib
ln -sfv ${PREFIX}/bin/cpp lib/
ln -sfv gcc bin/cc

install -v -dm755 lib/bfd-plugins
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/$VERSION/liblto_plugin.so lib/bfd-plugins/

# and dump these ...
rm -v lib64/*-gdb.py

exit