# Depends on: zlib libmpc
name=gcc
-version=6.4.0
+version=7.4.0
release=1
-source=(ftp://gcc.gnu.org/pub/gcc/releases/$name-$version/$name-$version.tar.xz
- $name-nocheck-fixincludes.patch)
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-$version/$name-$version.tar.xz \
+ $name-nocheck-fixincludes.patch $name-aarch64-dirs.patch)
build() {
patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch
+ patch -d $name-$version -p1 -i $SRC/gcc-aarch64-dirs.patch
mkdir build
cd build
../$name-$version/configure --prefix=/usr \
- --build=aarch64-unknown-linux-gnueabi \
--libexecdir=/usr/lib \
--enable-languages=c,c++,objc \
--enable-threads=posix \
--disable-nls \
--with-x=no \
--with-system-zlib \
+ --enable-multilib \
+ --enable-default-pie \
+ --enable-default-ssp \
--with-pkgversion="CRUX-ARM 64b"
- make
+ make bootstrap
make -j1 DESTDIR=$PKG install
- mkdir $PKG/lib
+ install -d $PKG/lib
ln -sf ../usr/bin/cpp $PKG/lib/cpp
ln -sf gcc $PKG/usr/bin/cc
ln -sf g++ $PKG/usr/bin/c++
mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/
- rm $PKG/usr/lib64/libstdc++.so.6.0.22-gdb.py
rm -r $PKG/usr/share/{info,$name-$version}
rm -r $PKG/usr/bin/*-linux-gnu*
rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
- sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib64/{libstdc++.la,libsupc++.la}
+ for D in lib; do
+ install -d -m 0755 $PKG/usr/share/gdb/auto-load/usr/${D}
+ mv $PKG/usr/${D}/libstdc++.so.*-gdb.py $PKG/usr/share/gdb/auto-load/usr/${D}
+ done
+
+ sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/{libstdc++.la,libsupc++.la}
}