1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-11-22 19:19:46 +01:00
build/pkg/tc-gcc1/build
David Oberhollenzer 8e5c6d3a2e Make toolchain and user space hardening configurable
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-10-19 21:50:57 +02:00

72 lines
1.9 KiB
Text
Executable file

VERSION="8.2.0"
SRCDIR="gcc-$VERSION"
TARBALL="gcc-$VERSION.tar.xz"
URL="http://ftp.gnu.org/gnu/gcc/gcc-$VERSION"
SHA256SUM="196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080"
DEPENDS="tc-binutils tc-cloog tc-gmp tc-isl tc-mpc tc-mpfr linux_headers fortify-headers"
prepare() {
apply_patches
#
# XXX: if you ever add support for another 64 bit processor,
# you need to patch this.
#
# Fixup multilib configuration to install libraries
# into /lib instead of /lib64
#
for subdir in "i386/t-linux64" "aarch64/t-aarch64-linux"; do
sed -e '/m64=/s/lib64/lib/' \
-i "$PKGSRCDIR/$SRCDIR/gcc/config/$subdir"
done
for child in cloog gmp isl mpc mpfr; do
include_pkg "tc-$child"
if [ ! -e "$child" ]; then
echo "installing symlink to $child..."
ln -s "$PKGSRCDIR/$SRCDIR" "$child"
else
if [ ! -L "$child" ]; then
echo "ERROR: $child " \
"exists but is not a symlink!"
exit 1
fi
fi
done
}
build() {
local extra=""
if [ "x$TC_HARDENING" = "xyes" ]; then
extra="--enable-libssp --enable-default-pie"
extra="$extra --enable-default-ssp"
else
extra="--disable-libssp"
fi
$1/configure --prefix="$TCDIR" --target="$TARGET" \
--build="$HOSTTUPLE" --host="$HOSTTUPLE" \
--with-sysroot="$TCDIR/$TARGET" \
--disable-nls --disable-shared --without-headers \
--disable-multilib --disable-decimal-float \
--disable-libgomp --disable-libmudflap \
--disable-libatomic \
--disable-libquadmath --disable-threads \
--enable-languages=c --with-newlib \
--with-arch="$GCC_CPU" $extra $GCC_EXTRACFG
make -j $NUMJOBS all-gcc all-target-libgcc
}
deploy() {
make install-gcc install-target-libgcc
}
check_update() {
curl --silent -L "http://ftp.gnu.org/gnu/gcc" | \
grep -o ">gcc-[0-9.]*/<" | \
sed 's/>gcc-//g' | sed 's/\/<//g' | \
verson_find_greatest "$VERSION"
}