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 --
|