SUCKs, SUCKs, SUCKs, nao funciona!
use o crosstool (que funciona), eu ainda não sei construir um cross-compiler
CrossTool
Cross Compiler Ubuntu
preparando
#!/bin/sh
#apt-get install binutils-multiarch
#apt-get install toolchain-source fakeroot
#apt-get install autoconf2.13
#apt-get install gcc-3.3
#apt-get install bison flex
#apt-get install libc6-dev-i386 lib6-dev
apt-get install diffstat quilt texi2html texinfo
mkdir Cross
cd Cross
### includes
#
#for i in `dpkg -L libc6-dev | grep /usr/include | perl -pe 's#^/usr/##'`; do
#
#DIR=$PWD/mipsel-linux/mipsel-linux/$(dirname $i)
#
#[ ! -d "$DIR" ] && mkdir -p $DIR
#
#[ -f /usr/$i ] && cp /usr/$i $DIR/
#
#done
#
#cp -avR /usr/src/linux-headers-2.6.17-10/include/{linux,asm-mips,linux} $PWD/mipsel-linux/mipsel-linux/
#
#cp /usr/include/i486-linux-gnu/gnu/stubs-32.h mipsel-linux/mipsel-linux/include/gnu/
#
mipsel (C e C++)
#!/bin/sh
#mkdir Cross
cd Cross
#MIPSel
# BUILD dir
mkdir BUILD
cd BUILD
# ambiente
export PATH=$PATH:$PWD/../bin
#binutils
wget http://ftp.gnu.org/gnu/binutils/binutils-2.17.tar.bz2
tar xvjf binutils-2.17.tar.bz2
cd binutils-2.17/
./configure --target=mipsel-linux --prefix=$PWD/../../
make
make install
cd ..
#gcc (primeira parte)
# precisa de include?? --without-headers funciona ou nao?
wget http://gcc-uk.internet.bs/releases/gcc-4.1.1/gcc-4.1.1.tar.bz2
tar xvjf gcc-4.1.1.tar.bz2
cd gcc-4.1.1
./configure --without-headers --target=mipsel-linux --prefix=$PWD/../../ --enable-languages=c --enable-threads=posix --disable-shared
make
make install
cd ..
# libc
wget http://ftp.gnu.org/gnu/glibc/glibc-2.3.6.tar.bz2
tar xvjf glibc-2.3.6.tar.bz2
cd glibc-2.3.6/
mkdir build
cd build
BUILD_CC=gcc CC=mipsel-linux-gcc ../configure --target=mipsel-linux --build=x86_64-linux --enable-add-ons --prefix=$PWD/../../../
cd ../..
#gcc (2 parte), g++, libstdc++
./configure --target=mipsel-linux --prefix=$PWD/../mipsel-linux --enable-languages=c++,c --enable-threads--enable-shared=zlib,boehm-gc,libstdc++,libgcc
Referências
cross compiler mini howto
Setting up a Cross Development Environment on Debian GNU/Linux
CrossCompiler < Main < TWiki
cross-compiler setup
cross.html
Cross compiler - Wikipedia, the free encyclopedia
http://sourceware.org/ml/crossgcc/2001-07/msg00234.html
http://vmlinux.org/crash/mirror/www.objsw.com/CrossGCC/
http://sourceware.org/ml/crossgcc/2004-02/msg00157.html
http://kegel.com/crosstool/
source.sh example
#!/bin/sh
#to be sourced
#[ $0 == "bash" -o $0 == "sh" ] || exit 1
# CAMINHO COMPLETO
DIRNAME=`dirname ${BASH_SOURCE[0]}`
if [ ${DIRNAME:0:1} != "/" ]; then
DIRNAME="${PWD}/${DIRNAME}"
fi
#export CROSS_COMPILE_BASE=$DIRNAME/mipsel-linux/gcc-3.4.5-glibc-2.3.6/mipsel-unknown-linux-gnu
export CROSS_COMPILE_BASE=$DIRNAME/mipsel-linux/gcc-4.0.2-glibc-2.3.6/mipsel-unknown-linux-gnu
export PATH=$CROSS_COMPILE_BASE/bin:$PATH
export TARGET=mipsel-unknown-linux-gnu
export CROSS_COMPILE_PREFIX=${TARGET}
export CROSS_ROOT=$CROSS_COMPILE_BASE/$TARGET
export CROSS_INCLUDE_DIR=$CROSS_ROOT/include
export CROSS_LIB_DIR=$CROSS_ROOT/lib
echo "export CC=${CROSS_COMPILE_PREFIX}-gcc"
echo "export CXX=${CROSS_COMPILE_PREFIX}-g++"
echo "export CPP=${CROSS_COMPILE_PREFIX}-cpp"
echo "export AR=${CROSS_COMPILE_PREFIX}-ar"
echo "export AS=${CROSS_COMPILE_PREFIX}-as"
echo "export LD=${CROSS_COMPILE_PREFIX}-ld"
echo "export RANLIB=${CROSS_COMPILE_PREFIX}-ranlib"
# qemu
alias qemu-mipsel='qemu-mipsel -L $CROSS_ROOT'
--
IuriDiniz - 11 Jan 2007