Hi there,
a long time ago, i've tried to cross compile gcc for
m68k-atari-mint on a mingw host, but at this time, collect2 was not
support by mingw and a lot of errors during the compile process has
made me give up.
My goal (dream ?) would be to have a native windows cross compiler
so that i will be able to generate atari prg directly with dev-cpp IDE
(or even VisualC++ ). Mingw can now build gcc with more less patch
than before, so I decided to try again.
Starting from the Patrice Mandin tutorial :
http://perso.wanadoo.fr/patrice.mandin/v3/fr/howto-cross333.html
I've done a "build-all.sh" file doing the whole process.
my starting files are :
- binutils-2.13.90-20021006-2-src.tar.gz ( mingw patched files )
- binutils-2.13.2.1-mint.diff.gz (Patrice Mandin patch)
- gcc-3.4.2.tar.bz2 (official GCC 3.4.2 sources from gnu)
- gcc-3.4.2-20040916-1-src.diff.gz (mingw patch)
- mintlib-devel-0.57.4.tar.gz (lib and include, from Patrice
Mandin)
I've also done a short patch for binutils (avoid a build error)
and I've done a patch for gcc-3.4.2 based on gcc-3.3.3-mint.diff.gz
from Patrice Mandin again.
I've managed to build binutils 2.13 for mingw, then gcc 3.4.2 (only
c and c++) for mingw (using binutils 2.13), then binutils 2.13 for
mint, but I'm now stuck at gcc-3.4.2 for mint. It seems that the
compiler doesn't find some include path and if I patch the makefile to
force the missing include path, there's a crash :
m68k-atari-mint-ar.exe: ./libgcc.a: File truncated
If someone here want to help me a bit, I'm sure I'm doing more than
one thing wrong ;-)
Here is the "build-all.sh" file, if someone can help me, I'll send
him the patch files to have a look.
thanks
Stéphane
-------------------------------------------------------
#
# create install dir for host
#
# this directory
MY_MSYS_DIR=/c/msys/1.0
MY_ROOT_DIR=${MY_MSYS_DIR}`pwd`/
mkdir ${MY_ROOT_DIR}install-dir
cp -r /mingw/include ${MY_ROOT_DIR}install-dir
cp -r /mingw/lib ${MY_ROOT_DIR}install-dir
# ---------------------------
# build binutils for mingw
# ---------------------------
tar xvzf binutils-2.13.90-20021006-2-src.tar.gz
cd binutills-2.13.90-20021006-2
gunzip -c ../binutils-2.13.90-20021006-2-src.tar-mingw-diff.gz | patch
-p1
cd ..
mkdir build-binutils
cd build-binutils
../binutills-2.13.90-20021006-2/configure --with-gcc --with-gnu-ld
--with-gnu-as --host=mingw32 --target=mingw32 --prefix=
${MY_ROOT_DIR}install-dir --enable-threads --disable-nls
--enable-languages=c,c++ --disable-win32-registry --disable-shared
--enable-sjlj-exceptions --enable-libgcj --disable-java-awt
--without-x --enable-java-gc=boehm --disable-libgcj-debug
--enable-interpreter --enable-hash-synchronization
--enable-libstdcxx-debug
make CFLAGS="-O2 -fomit-frame-pointer" CXXFLAGS="-mthreads
-fno-omit-frame-pointer -O2" LDFLAGS=-s all
make install
cd ..
rm -rf build-binutils
# -----------------------------------
# set Path
# -----------------------------------
export PATH=${MY_ROOT_DIR}install-dir/bin:${PATH}
export LD_LIBRARY_PATH=${MY_ROOT_DIR}install-dir/lib
export INCLUDE_PATH=${MY_ROOT_DIR}install-dir/include
# -----------------------------------
# build gcc for mingw
# -----------------------------------
tar xvjf gcc-3.4.2.tar.bz2
cd gcc-3.4.2
gunzip -c ../gcc-3.4.2-20040916-1-src.diff.gz | patch -p1
cd ..
mkdir build-gcc
cd build-gcc
../gcc-3.4.2/configure --with-gcc --with-gnu-ld --with-gnu-as
--host=mingw32 --target=mingw32 --prefix=${MY_ROOT_DIR}install-dir
--enable-threads --disable-nls --enable-languages=c,c++
--disable-win32-registry --disable-shared --enable-sjlj-exceptions
--enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm
--disable-libgcj-debug --enable-interpreter
--enable-hash-synchronization --enable-libstdcxx-debug
make CFLAGS="-O2 -fomit-frame-pointer" CXXFLAGS="-mthreads
-fno-omit-frame-pointer -O2" LDFLAGS=-s bootstrap
make install
cd ..
rm -rf build-gcc
# ---------------------------
# build binutils for atari mint
# ---------------------------
cd binutills-2.13.90-20021006-2
gunzip -c ../binutils-2.13.2.1-mint.diff.gz | patch -p1
cd ..
mkdir binutils-2.13.2.1-mint
cd binutils-2.13.2.1-mint
../binutills-2.13.90-20021006-2/configure --with-gcc --with-gnu-ld
--with-gnu-as --host=mingw32 --prefix=${MY_ROOT_DIR}install-dir
--target=m68k-atari-mint --disable-threads --disable-nls
--enable-languages=c,c++ --disable-win32-registry --disable-shared
--disable-java-awt --without-x --disable-libgcj-debug
make CFLAGS="-O -fomit-frame-pointer"
CXXFLAGS="-fno-omit-frame-pointer -O" LDFLAGS=-s all
make install
cd ..
rm -rf binutils-2.13.2.1-mint
rm -rf binutills-2.13.90-20021006-2
# ---------------------------
# build gcc for atari mint
# ---------------------------
cd gcc-3.4.2
gunzip -c ../gcc-3.4.2-mint.diff.gz | patch -p1
cd ..
tar xvzf mintlib-devel-0.57.4.tar.gz
mkdir build-gcc-mint
cd build-gcc-mint
../gcc-3.4.2/configure --with-headers=
${MY_ROOT_DIR}mintlib-devel-0.57.4/usr/include --with-sysroot=
${MY_ROOT_DIR}mintlib-devel-0.57.4 --host=mingw32
--target=m68k-atari-mint --prefix=${MY_ROOT_DIR}install-dir
--disable-threads --disable-nls --enable-languages=c,c++
--disable-win32-registry --disable-shared --disable-java-awt
--without-x --disable-libgcj-debug --disable-multilib
make CFLAGS="-O -fomit-frame-pointer -I../../gcc-3.4.2/gcc/config "
CXXFLAGS="-fno-omit-frame-pointer -O -I../../gcc-3.4.2/gcc/config "
LDFLAGS=-s
make install
cd ..
rm -rf build-gcc-mint
--