Skip to content

Add GCC 13.1.0 #249

Closed
wants to merge 3 commits into from
Closed
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-13.1.0-0.build.sh
@@ -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=13.1.0
BUILD=0
# URL=https://ftp.gnu.org/gnu/gcc/gcc-${VERSION}/gcc-${VERSION}.tar.xz
URL=https://beehive.molgen.mpg.de/43e4de77f2218c83ca675257ea1af9ef/gcc-13.1.0.tar.xz

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)
export MAKEFLAGS="-j $NPROC"

BUILDDIR=$PREFIX/build

mkdir -p $BUILDDIR
cd $BUILDDIR

test -e gcc-${VERSION}.tar.xz || wget --no-verbose $URL
test -d gcc-$VERSION || tar xvf gcc-${VERSION}.tar.xz
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