This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

CrossGCC build script (including fixes)


After gathering information from the CrossGCC FAQ and from this list, I
successfuly built a 68k cross-compiler (the compiler works, but I haven't
tried out the library yet).

Here is the script I used; it is not very elegant and it uses up a lot of
space, but it seems to work fine, both on Linux redHat 6.0 and on CygWin
(CygWin tends to slow down to a trickle on Windows 98, but that is another
problem).

It would be a good idea to delete the "build" subdirectories at the end of
the process (or to modify the script to use a single "build" directory if
space is tight).

  Enrico

--------------

#!/bin/sh

# Build a CrossGCC for newlib for embedded sistems
# Enrico Colombini <erix@mclink.it> October 2000
# It works on my RedHat 6.0 Linux box. I make no other claims. 
#
# Thanks to Scott Howard for the CrossGCC FAQ, to Jo~ao Cadamuro
# and to many people on the CrossGCC list for the fixes, and to
# Marco Morocutti for cooperation and support


# = 1 = Before executing this, get the sources for:
#       binutils, gcc, newlib, gdb
#       and unpack them in the <src> directory (say /home/erix/crossrc)
#       (e.g. tar zxvf binutils-2_10_tar.gz)
#       thus creating four corresponding subdirectories 

# = 2 = Adjust the lines below to configure for your system:
#
prefix=/home/erix/crossgcc # Destination directory
target=m68k-coff # Target system
binutilsdir=binutils-2.10 # Directories created by unpacking sources
gccdir=gcc-2.95.2
newlibdir=newlib-1.8.2
gdbdir=gdb-5.0

# - 3 - Execute this shell script from <src>: ./buildcross

# Create destination directory
mkdir -p $prefix 

# Compile binutils
mkdir -p build$binutilsdir
cd build$binutilsdir
../$binutilsdir/configure --target=$target --prefix=$prefix -v
make all install
cd ..

# Add executables to path, they'll be needed later
PATH=$prefix/bin:$PATH
echo $PATH

# Add symbolic links to newlib into gcc source
cd $gccdir
ln -s ../$newlibdir/newlib newlib
ln -s ../$newlibdir/libgloss libgloss
cd ..

# Compile gcc
mkdir -p build$gccdir
cd build$gccdir
../$gccdir/configure --target=$target --prefix=$prefix --with-newlib
--enable-languages= -v
make all install
cd ..

# Compile newlib
mkdir -p build$newlibdir
cd build$newlibdir
../$newlibdir/configure --target=$target --prefix=$prefix -v
make all install
cd ..

# Compile gdb
mkdir -p build$gdbdir
cd build$gdbdir
../$gdbdir/configure --target=$target --prefix=$prefix -v
make all install
cd ..


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]