Vincent R. wrote:
> On Wed, 21 Jan 2009 16:17:12 +0000, "Hywel B. Richards"
> <hywel.richa...@gmail.com> wrote:
>   
>> Hi,
>>
>> Is anyone out there compiling for WinCE/SH4?
>>
>> Is it possible to coax cegcc to build for this platform, or does there 
>> exist another gcc-based cross-compiling toolchain somewhere?
>>
>> Failing that, does anyone know how I might go about building for this 
>> platform using gcc?
>>
>> Many thanks in advance.
>>
>> Hywel.
>>
>>
>>     
> Official maintainer Pedro or Danny could give you a better answer but if I
> were you I would 
> download a vanilla binutils/gcc and make a diff with cegcc.
> You would see that actually cegcc for instance add some support for
> configure triplet and some files.
> By analyzing this changes you should be able to add support for SH.
> I think in 3-4 days you should be able to do it, for instance with arm you
> have 
> wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
> so you should look for sh*-*-pe) and replace it by sh*-*-pe | sh*-*-cegcc*
> | sh*-*-mingw32ce*)
>
> Once you have modified everywhere you will use sh-mingw32ce or sh-cegcc in
> build-script.
>
>
>
>
>
>
>
>
>
>
>
>
> diff -urN binutils-2008-12-11/src/binutils/configure
> binutils-cegcc-4.1.2/src/binutils/configure
> --- binutils-2008-12-11/src/binutils/configure        2008-10-31
> 03:52:14.000000000 +0100
> +++ binutils-cegcc-4.1.2/src/binutils/configure       2008-12-16
> 21:14:14.268157000 +0100
> @@ -16099,7 +16099,7 @@
>         BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
>         BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
>         ;;
> -     arm-wince-pe* | arm-*-wince)
> +     arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
>         BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
>         if test -z "$DLLTOOL_DEFAULT"; then
>           DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
> diff -urN binutils-2008-12-11/src/binutils/configure.in
> binutils-cegcc-4.1.2/src/binutils/configure.in
> --- binutils-2008-12-11/src/binutils/configure.in     2008-10-31
> 03:52:14.000000000 +0100
> +++ binutils-cegcc-4.1.2/src/binutils/configure.in    2008-12-16
> 21:14:14.268157000 +0100
> @@ -275,7 +275,7 @@
>         BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
>         BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
>         ;;
> -     arm-wince-pe* | arm-*-wince)
> +     arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
>         BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
>         if test -z "$DLLTOOL_DEFAULT"; then
>           DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
>
> diff -urN binutils-2008-12-11/src/configure.ac
> binutils-cegcc-4.1.2/src/configure.ac
> --- binutils-2008-12-11/src/configure.ac      2008-11-27 18:14:58.000000000
> +0100
> +++ binutils-cegcc-4.1.2/src/configure.ac     2008-12-16 21:14:14.268157000
> +0100
> @@ -537,7 +537,7 @@
>    sh-*-linux*)
>      noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
>      ;;    
> -  sh*-*-pe|mips*-*-pe|*arm-wince-pe)
> +  sh*-*-pe|mips*-*-pe|*arm-wince-pe|arm*-*-mingw32ce*|arm*-*-cegcc*)
>      noconfigdirs="$noconfigdirs ${libgcj}"
>      noconfigdirs="$noconfigdirs target-examples"
>      noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
>
> diff -urN binutils-2008-12-11/src/gas/configure.tgt
> binutils-cegcc-4.1.2/src/gas/configure.tgt
> --- binutils-2008-12-11/src/gas/configure.tgt 2008-11-06 16:36:38.000000000
> +0100
> +++ binutils-cegcc-4.1.2/src/gas/configure.tgt        2008-12-16
> 21:14:14.268157000 +0100
> @@ -120,7 +120,8 @@
>    arm-*-*n*bsd*)                     fmt=aout em=nbsd ;;
>    arm-*-nto*)                                fmt=elf ;;
>    arm-epoc-pe | thumb-epoc-pe)               fmt=coff em=epoc-pe ;;
> -  arm-wince-pe | arm-*-wince)                fmt=coff em=wince-pe ;;
> +  arm-wince-* | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
> +                                     fmt=coff em=wince-pe ;;
>    arm-*-pe | thumb-*-pe)             fmt=coff em=pe ;;
>    arm-*-riscix*)                     fmt=aout em=riscix ;;
>  
> diff -urN binutils-2008-12-11/src/ld/configure.tgt
> binutils-cegcc-4.1.2/src/ld/configure.tgt
> --- binutils-2008-12-11/src/ld/configure.tgt  2008-11-17 21:11:48.000000000
> +0100
> +++ binutils-cegcc-4.1.2/src/ld/configure.tgt 2008-12-16 21:14:14.268157000
> +0100
> @@ -44,7 +44,8 @@
>  arc-*-elf*)          targ_emul=arcelf
>                       ;;
>  arm-epoc-pe)         targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o
> pe-dll.o" ;;
> -arm-wince-pe | arm-*-wince) targ_emul=arm_wince_pe ;
> targ_extra_ofiles="deffilep.o pe-dll.o" ;;
> +arm-wince-* | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
> +                     targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o 
> pe-dll.o" ;;
>  arm-*-pe)            targ_emul=armpe ; targ_extra_ofiles="deffilep.o 
> pe-dll.o" ;;
>  arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
>  armeb-*-aout)                targ_emul=armaoutb ;;
>
>   
Many thanks for your reply, Vincent. Unfortunately I have no experience 
in building gcc cross-compilers (including cegcc), so I need to ask 
another question.

Is it really as easy as substituting "sh4" for "arm" in the places 
implied by your diff?
Or will it be a much bigger job than that (as that doesn't seem like 3-4 
days effort!).

And when you say 3-4 days, is that 3-4 days for a gcc guru, or 3-4 days 
for someone who needs to find out a lot more about how these toolchains 
work (like me!) ?

And a final question: what do you think the likelihood of final success is?
Is this something that can definitely be made to work, or is it 
something where there will be some final unsurmountable "gotchas" which 
mean that it could never be made to work (at least without a huge effort 
- e.g. like the problems on list reported for Windows Mobile 6.1 DLLs).

Thanks again,

Hywel.



------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to