Skip to content

Commit

Permalink
gcc: Add version 12.2.0
Browse files Browse the repository at this point in the history
Add version 12.2.0 as requested by user.

Copy commit with small changes because they ship the tar as
gz and not as xz.
  • Loading branch information
niclas committed Mar 14, 2023
1 parent f456f9e commit 41f4fd8
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions gcc-12.2.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=12.2.0
BUILD=0
# URL=https://ftp.gnu.org/gnu/gcc/gcc-${VERSION}/gcc-${VERSION}.tar.gz
URL=https://beehive.molgen.mpg.de/d7644b494246450468464ffc2c2b19c3/gcc-12.2.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

0 comments on commit 41f4fd8

Please sign in to comment.