Files
lfs-7.8/5.5-lfs_gcc-5.2.0-pass-1.sh
Romain Claret f2cb0d4471 attempt to fix #6
/ return character converted to spaces
2016-08-29 21:18:23 +02:00

134 lines
3.8 KiB
Bash

#!/bin/bash
CHAPTER_SECTION=5
INSTALL_NAME=gcc
echo ""
echo "### ---------------------------"
echo "### GCC ###"
echo "### CHAPTER 5.$CHAPTER_SECTION ###"
echo "### GCC-5.2.0 - Pass 1"
echo "### Must be run as \"lfs\" user"
echo ""
echo "### Time estimate:"
echo "### real 25m49.580s"
echo "### user 22m42.813s"
echo "### sys 1m30.358s"
echo "### ---------------------------"
echo ""
echo "... Loading commun functions and variables"
if [ ! -f ./script-all_commun-functions.sh ]
then
echo "!! Fatal Error 1: './script-all_commun-functions.sh' not found."
exit 1
fi
source ./script-all_commun-functions.sh
if [ ! -f ./script-all_commun-variables.sh ]
then
echo "!! Fatal Error 1: './script-all_commun-variables.sh' not found."
exit 1
fi
source ./script-all_commun-variables.sh
echo ""
echo "... Validating the environment"
check_partitions
is_user lfs
check_tools
echo ""
echo "... Setup building environment"
BUILD_DIRECTORY=$INSTALL_NAME-build
LOG_FILE=$LFS_BUILD_LOGS_5$CHAPTER_SECTION-$INSTALL_NAME
cd $LFS_MOUNT_SOURCES
check_tarball_uniqueness
init_tarball $LFS_MOUNT_SOURCES
cd $(ls -d $LFS_MOUNT_SOURCES/$INSTALL_NAME*/)
echo ""
echo "... Installation starts now"
time {
echo ".... Pre-Configuring"
tar -xf ../mpfr-3.1.3.tar.xz
mv -v mpfr-3.1.3 mpfr &> $LOG_FILE-mv-mpfr.log
tar -xf ../gmp-6.0.0a.tar.xz
mv -v gmp-6.0.0 gmp &> $LOG_FILE-mv-gmp.log
tar -xf ../mpc-1.0.3.tar.gz
mv -v mpc-1.0.3 mpc &> $LOG_FILE-mv-mpc.log
for file in \
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
-e 's@/usr@/tools@g' $file.orig > $file
echo '
#undef STANDARD_STARTFILE_PREFIX_1
#undef STANDARD_STARTFILE_PREFIX_2
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
touch $file.orig
done
sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
mkdir ../$BUILD_DIRECTORY
cd ../$BUILD_DIRECTORY
echo ".... Configuring $SOURCE_FILE_NAME"
../gcc-5.2.0/configure \
--target=$LFS_TGT \
--prefix=/tools \
--with-glibc-version=2.11 \
--with-sysroot=$LFS \
--with-newlib \
--without-headers \
--with-local-prefix=/tools \
--with-native-system-header-dir=/tools/include \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-decimal-float \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++ \
&> $LOG_FILE-configure.log
echo ".... Making $SOURCE_FILE_NAME"
make $PROCESSOR_CORES &> $LOG_FILE-make.log
echo ".... Installing $SOURCE_FILE_NAME"
make install $PROCESSOR_CORES &> $LOG_FILE-make-install.log
}
echo ""
echo "... Cleaning up $SOURCE_FILE_NAME"
cd $LFS_MOUNT_SOURCES
[ ! $SHOULD_NOT_CLEAN ] && rm -rf $(ls -d $LFS_MOUNT_SOURCES/$INSTALL_NAME*/)
rm -rf $BUILD_DIRECTORY
get_build_errors_5
echo ""
echo "######### END OF CHAPTER 5.$CHAPTER_SECTION ########"
echo "///// HUMAN REQUIRED \\\\\\\\\\\\\\\\\\\\"
echo "### Please run the next step:"
echo "### ./5.6-lfs_linux-4.2-api-headers.sh"
echo ""
if [ $ERRORS_COUNTER -ne 0 ]
then
exit 6
else
exit 0
fi