68 lines
1.5 KiB
Bash
Executable file
68 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
. /etc/pkg/pkg.conf
|
|
. /var/lib/pkg/functions
|
|
|
|
name=$(basename $0)
|
|
version=8.2.0
|
|
url=http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz
|
|
|
|
fetch $url
|
|
|
|
rm -fr $WORK_DIR/$name-$version
|
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
|
|
|
cd $WORK_DIR/$name-$version
|
|
{ time \
|
|
{
|
|
case $(uname -m) in
|
|
x86_64)
|
|
sed -e '/m64=/s/lib64/lib/' \
|
|
-i.orig gcc/config/i386/t-linux64
|
|
;;
|
|
esac
|
|
|
|
rm -f /usr/lib/gcc
|
|
|
|
mkdir -v build
|
|
cd build
|
|
|
|
SED=sed \
|
|
../configure --prefix=/usr \
|
|
--enable-languages=c,c++ \
|
|
--disable-multilib \
|
|
--disable-bootstrap \
|
|
--disable-libmpx \
|
|
--with-system-zlib
|
|
make
|
|
make install
|
|
ln -svf ../usr/bin/cpp /lib
|
|
ln -svf gcc /usr/bin/cc
|
|
install -v -dm755 /usr/lib/bfd-plugins
|
|
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/8.2.0/liblto_plugin.so \
|
|
/usr/lib/bfd-plugins/
|
|
|
|
echo 'int main(){}' > dummy.c
|
|
cc dummy.c -v -Wl,--verbose &> dummy.log
|
|
readelf -l a.out | grep ': /lib'
|
|
|
|
grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
|
|
grep -B4 '^ /usr/include' dummy.log
|
|
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
|
|
grep "/lib.*/libc.so.6 " dummy.log
|
|
grep found dummy.log
|
|
rm -v dummy.c a.out dummy.log
|
|
mkdir -pv /usr/share/gdb/auto-load/usr/lib
|
|
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
|
|
}
|
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
|
|
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
|
|
|
rm -fr $WORK_DIR/$name-$version
|
|
|
|
registerpkg $(basename $0) $version
|
|
|
|
exit 0
|