First,
Use Binutils 2.16.1 which is proven to work well, then, use GCC 3.3.6
which has instructions which can be searched on the CT60 BBS,
ct60.dhs.nu, ... It should work I think, at least for gcc (not g++
maybe). If you want to use 3.4.2, you're in uncharted waters ;)
Thanks,
Mark
On Thu, 2006-03-16 at 12:44 +0100, Stephane Capo wrote:
> 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
> --
>
Attachment:
signature.asc
Description: This is a digitally signed message part