fixed some bugs, gets newlib but not the gcc build after

This commit is contained in:
wolfwood
2010-04-04 06:29:08 -04:00
parent bd9b58ab6f
commit 2e5a28bad0
4 changed files with 70 additions and 47 deletions

6
README Normal file
View File

@@ -0,0 +1,6 @@
An evolving effort to automate generation of a XOmB toolchain and crosscompiler.
currently dies during the second GCC phase with the bizarre error:
"/home/wolfwood/repos/buildtools/build/gcc-obj/./gcc/include-fixed/time.h:12: error: conflicting types for 'clock_t'
/home/wolfwood/repos/buildtools/local/x86_64-pc-xomb/include/sys/types.h:104: note: previous declaration of 'clock_t' was here
"

107
build.sh
View File

@@ -11,47 +11,51 @@ GMP_VER=5.0.1
MPFR_VER=2.4.2
NEWLIB_VER=1.18.0
WFLAGS=-c
export PATH=$PREFIX/bin:$PATH
# Fetch each package
# FETCH BINUTILS
wget http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.gz
echo "FETCH BINUTILS"
wget $WFLAGS http://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VER}.tar.gz
tar -xf binutils-${BINUTILS_VER}.tar.gz
# FETCH GCC
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-core-${GCC_VER}.tar.gz
echo "FETCH GCC"
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-core-${GCC_VER}.tar.gz
tar -xf gcc-core-${GCC_VER}.tar.gz
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-g++-${GCC_VER}.tar.gz
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-g++-${GCC_VER}.tar.gz
tar -xf gcc-g++-${GCC_VER}.tar.gz
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-fortran-${GCC_VER}.tar.gz
wget $WFLAGS http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/gcc-fortran-${GCC_VER}.tar.gz
tar -xf gcc-fortran-${GCC_VER}.tar.gz
# FETCH GMP
wget http://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.gz
echo "FETCH GMP"
wget $WFLAGS http://ftp.gnu.org/gnu/gmp/gmp-${GMP_VER}.tar.gz
tar -xf gmp-${GMP_VER}.tar.gz
# FETCH MPFR
wget http://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.gz
echo "FETCH MPFR"
wget $WFLAGS http://ftp.gnu.org/gnu/mpfr/mpfr-${MPFR_VER}.tar.gz
tar -xf mpfr-${MPFR_VER}.tar.gz
# FETCH NEWLIB
wget ftp://sources.redhat.com/pub/newlib/newlib-${NEWLIB_VER}.tar.gz
echo "FETCH NEWLIB"
wget $WFLAGS ftp://sources.redhat.com/pub/newlib/newlib-${NEWLIB_VER}.tar.gz
tar -xf newlib-${NEWLIB_VER}.tar.gz
# Patch and push new code into each package
# PATCH BINUTILS
patch -p0 -d binutils-${BINUTILS_VER} < ../binutils-xomb.patch
echo "PATCH BINUTILS"
patch -p0 -d binutils-${BINUTILS_VER} < ../binutils-xomb.patch || exit
cp -r ../binutils-files/* binutils-${BINUTILS_VER}/.
# PATCH GCC
patch -p0 -d gcc-${GCC_VER} < ../gcc-xomb.patch
echo "PATCH GCC"
patch -p0 -d gcc-${GCC_VER} < ../gcc-xomb.patch || exit
cp -r ../gcc-files/* gcc-${GCC_VER}/.
# PATCH NEWLIB
patch -p0 -d newlib-${NEWLIB_VER} < ../newlib-xomb.patch
echo "PATCH NEWLIB"
patch -p0 -d newlib-${NEWLIB_VER} < ../newlib-xomb.patch || exit
cp -r ../newlib-files/* newlib-${NEWLIB_VER}/.
# MAKE OBJECT DIRECTORIES
echo "MAKE OBJECT DIRECTORIES"
mkdir -p binutils-obj
mkdir -p gcc-obj
mkdir -p newlib-obj
@@ -60,48 +64,61 @@ mkdir -p mpfr-obj
# Compile all packages
# COMPILE BINUTILS
echo "COMPILE BINUTILS"
cd binutils-obj
../binutils-${BINUTILS_VER}/configure --target=$TARGET --prefix=$PREFIX
make
make install
../binutils-${BINUTILS_VER}/configure --target=$TARGET --prefix=$PREFIX || exit
make || exit
make install || exit
cd ..
# COMPILE GMP
echo "COMPILE GMP"
cd gmp-obj
../gmp-${GMP_VER}/configure --prefix=$PREFIX --disable-shared
make
make check
make install
../gmp-${GMP_VER}/configure --prefix=$PREFIX --disable-shared || exit
make || exit
make check || exit
make install || exit
cd ..
# COMPILE MPFR
echo "COMPILE MPFR"
cd mpfr-obj
../mpfr-${MPFR_VER}/configure --prefix=$PREFIX --with-gmp=$PREFIX --disable-shared
make
make check
make install
make || exit
make check || exit
make install || exit
cd ..
# COMPILE GCC
echo "AUTOCONF GCC"
cd gcc-${GCC_VER}/libstdc++-v3
#autoconf || exit
cd ../..
echo "COMPILE GCC"
cd gcc-obj
../gcc-${GCC_VER}/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++,fortran --disable-libssp --with-gmp=$PREFIX --with-mpfr=$PREFIX --disable-nls --with-headers=$PREFIX/include --with-newlib
make all-gcc
make all-target-libgcc
make install-gcc
make install-target-libgcc
../gcc-${GCC_VER}/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++,fortran --disable-libssp --with-gmp=$PREFIX --with-mpfr=$PREFIX --disable-nls --with-headers=$PREFIX/include --with-newlib || exit
make all-gcc || exit
make install-gcc || exit
cd ..
# COMPILE NEWLIB-XOMB
echo "AUTOCONF NEWLIB-XOMB"
cd newlib-${NEWLIB_VER}/newlib/libc/sys
./configure
cd ../../../..
autoconf || exit
cd xomb
autoreconf || exit
cd ../../../../..
# COMPILE NEWLIB
echo "CONFIGURE NEWLIB"
cd newlib-obj
../newlib-${NEWLIB_VER}/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX
make all
make install
../newlib-${NEWLIB_VER}/configure --target=$TARGET --prefix=$PREFIX --with-gmp=$PREFIX --with-mpfr=$PREFIX || exit
echo "COMPILE NEWLIB"
make || exit
make install || exit
cd ..
echo "PASS-2 COMPILE GCC"
cd gcc-obj
#make all-target-libgcc
#make install-target-libgcc
make || exit
make install || exit
cd ..

View File

@@ -3,7 +3,7 @@
@@ -1240,6 +1240,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -aos* | -aros* \
+ | -xomb* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \

View File

@@ -25,7 +25,7 @@
sys_dir=w65
;;
+ x86_64-*-xomb*)
+ machine_dir=xomb
+ sys_dir=xomb
+ ;;
xscale-*-*)
sys_dir=arm