Line 1... |
Line 1... |
#!/bin/bash
|
#!/bin/bash
|
|
################################################################################
|
|
##
|
|
## Filename: gcc-script.sh
|
|
##
|
|
## Project: Zip CPU -- a small, lightweight, RISC CPU soft core
|
|
##
|
|
## Purpose: To handle all of the GCC configuration options properly. This
|
|
## both runs the GCC configure script, as well as initially running
|
|
## make on the resulting configured directory.
|
|
##
|
|
##
|
|
## Creator: Dan Gisselquist, Ph.D.
|
|
## Gisselquist Technology, LLC
|
|
##
|
|
################################################################################
|
|
##
|
|
## Copyright (C) 2016, Gisselquist Technology, LLC
|
|
##
|
|
## This program is free software (firmware): you can redistribute it and/or
|
|
## modify it under the terms of the GNU General Public License as published
|
|
## by the Free Software Foundation, either version 3 of the License, or (at
|
|
## your option) any later version.
|
|
##
|
|
## This program is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
|
|
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
## for more details.
|
|
##
|
|
## License: GPL, v3, as defined and found on www.gnu.org,
|
|
## http://www.gnu.org/licenses/gpl.html
|
|
##
|
|
##
|
|
################################################################################
|
|
##
|
|
##
|
if [[ ! -d gcc-5.3.0-zip ]]
|
if [[ ! -d gcc-5.3.0-zip ]]
|
then
|
then
|
tar -xjf ./gcc-5.3.0.tar.bz2 --transform s,gcc-5.3.0,gcc-5.3.0-zip,
|
tar -xjf ./gcc-5.3.0.tar.bz2 --transform s,gcc-5.3.0,gcc-5.3.0-zip,
|
cd gcc-5.3.0-zip
|
cd gcc-5.3.0-zip
|
patch -p1 <../gcc-5.3.0-specs-1.patch
|
patch -p1 <../gcc-5.3.0-specs-1.patch
|
rm gcc/config/rs6000/sysv4.h.orig
|
rm gcc/config/rs6000/sysv4.h.orig
|
patch -p1 <../gcc-zippatch.patch
|
patch -p1 <../gcc-zippatch.patch
|
cd ..
|
cd ..
|
fi
|
fi
|
|
|
|
uname -a | grep x86 > /dev/null
|
|
if [[ $? != 0 ]]; then
|
|
echo "This build script only works for x86_64 machines"
|
|
echo "You will need to change the CLFS_HOST line if you wish to build"
|
|
echo "on any other type of host."
|
|
exit 1
|
|
fi
|
|
|
set +h
|
set +h
|
set -e
|
set -e
|
CLFS_HOST="x86_64-cross-linux-gnu"
|
CLFS_HOST="x86_64-cross-linux-gnu"
|
|
# CLFS_HOST="arm-unknown-linux-gnueabihf" # For a Raspberry Pi ??
|
CLFS_TARGET="zip"
|
CLFS_TARGET="zip"
|
INSTALL_BASE=`pwd`/install
|
INSTALL_BASE=`pwd`/install
|
mkdir -p ${INSTALL_BASE}/cross-tools/bin
|
mkdir -p ${INSTALL_BASE}/cross-tools
|
mkdir -p ${INSTALL_BASE}/tools/lib
|
mkdir -p ${INSTALL_BASE}/tools/lib
|
mkdir -p ${INSTALL_BASE}/usr/include
|
mkdir -p ${INSTALL_BASE}/usr/include
|
mkdir -p build-gcc
|
mkdir -p build-gcc
|
cd build-gcc
|
cd build-gcc
|
|
|
Line 31... |
Line 74... |
STRIP_FOR_TARGET=${INSTALL_BASE}/cross-tools/bin/zip-strip
|
STRIP_FOR_TARGET=${INSTALL_BASE}/cross-tools/bin/zip-strip
|
|
|
AS=as AR=ar ../gcc-5.3.0-zip/configure --with-gas \
|
AS=as AR=ar ../gcc-5.3.0-zip/configure --with-gas \
|
--prefix=${INSTALL_BASE}/cross-tools \
|
--prefix=${INSTALL_BASE}/cross-tools \
|
--target=${CLFS_TARGET} --host=${CLFS_HOST} \
|
--target=${CLFS_TARGET} --host=${CLFS_HOST} \
|
--with-sysroot=${INSTALL_BASE} \
|
|
--with-lib-path=${INSTALL_BASE}/tools/lib \
|
|
--with-local-prefix=${INSTALL_BASE}/usr \
|
|
--with-pkgversion=zip-gcc-`date +%y%m%d` \
|
--with-pkgversion=zip-gcc-`date +%y%m%d` \
|
--disable-shared --disable-multilib \
|
--disable-shared --disable-multilib \
|
--disable-threads --disable-tls \
|
--disable-threads --disable-tls \
|
--disable-libada --disable-libsanitizer \
|
--disable-libada --disable-libsanitizer \
|
--disable-libssp --disable-libquadmath \
|
--disable-libssp --disable-libquadmath \
|
Line 47... |
Line 87... |
--disable-decimal-float --disable-fixed-point \
|
--disable-decimal-float --disable-fixed-point \
|
--disable-lto --disable-canonical-system-headers
|
--disable-lto --disable-canonical-system-headers
|
|
|
echo $PATH | grep ${INSTALL_BASE}/cross-tools/bin \
|
echo $PATH | grep ${INSTALL_BASE}/cross-tools/bin \
|
|| PATH=$PATH:${INSTALL_BASE}/cross-tools/bin
|
|| PATH=$PATH:${INSTALL_BASE}/cross-tools/bin
|
make || true
|
make $* || true
|
cd gcc; make || true
|
cd gcc; make $* || true
|
cd ../; make all-libcc1 || true
|
cd ../; make $* all-libcc1 || true
|
cd libcc1; make || true
|
cd libcc1; make $* || true
|
cd ../gcc; make || true
|
cd ../gcc; make $* || true
|
make install || true
|
make $* install || true
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|