mirror of
https://github.com/RomainClaret/lfs-7.8.git
synced 2025-07-31 05:03:12 +00:00
134 lines
3.8 KiB
Bash
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
|