This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arm-wince-pe: DLL micro-HOWTO needed


"Kai Ruottu" <kai.ruottu@luukku.com> wrote :

> Craig Vanderborgh <craigv@voxware.com>
> 
> > I am working with an arm-wince-pe build of GCC and binutils
> > (versions 3.2 and 2.13 respectively) and I have been able
> > to successfully create .exe files on X86 linux that run on my
> > ARM/wince target (an ipaq 3760).  Many thanks to all who've
> > helped me get this far!!
> The 'gcc/config/arm/README-interworking' in the
> GCC-sources seemed to be that. The part '10.', "How to use
> dlltool to build ARM/Thumb DLLs" in this document should
> teach something about this.

 When not having an up-to-date 'arm-pe' toolchain, I tried to build
one. And found the binutils-2.13.1 sources being buggy, no 'dlltool'
and 'windres' were built for this target. The binutils-20021203
weekly snapshots had this bug too...

 Here is the patch for 'binutils/configure' :

--------------- clip ----------------------------
*** configure.bak	Fri Nov 15 15:09:47 2002
--- configure	Thu Dec  5 10:36:18 2002
***************
*** 5495,5506 ****
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_EPOC -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
  	  ;;
! 	arm-pe* | arm-*-wince)
    	  BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
  	  ;;
! 	thumb-pe*)
    	  BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
--- 5495,5506 ----
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM_EPOC -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
  	  ;;
! 	arm-*-pe* | arm-*wince*)
    	  BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
  	  ;;
! 	thumb-*-pe*)
    	  BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
  	  DLLTOOL_DEFS="$DLLTOOL_DEFS -DDLLTOOL_ARM"
  	  BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
--------------- clip ----------------------------

 Using target names like 'arm-pe' and 'arm-wince-pe'
would give 'arm-unknown-pe' and 'arm-wince-pe' (not
changed) from the main 'config.sub' and so no 'dlltool'
and 'windres' would be built with the original name
templates.

 After getting 'dlltool' and 'windres', producing
DLLs and resources for EXEs (probably WinCE is similar
with Windows32 in this respect) should be easier.

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]