r6 - 22 May 2007 - 18:00:38 - IuriDinizYou are here: TWiki >  Personal Web  > CrossCompiler
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

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback