[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] cross compiling again



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