arm-wince D crosscompiler on the way, request help with mmap

Chad J "gamerChad\" at spamIsBad gmail.com
Sun Apr 23 00:38:44 PDT 2006


I've been working on a cross compiler that runs in linux and compiles D 
code for Windows CE/Windows Mobile on the Arm/Xscale processor.  I have 
a working C/C++ cross compiler that I configured myself, and I am 
currently building one with D included.

I've also run into a problem that I feel would be best handled by asking 
for help here.  While the xcompiler is building, it gets to the point 
where it checks for the C standard mmap function.  mmap does not exist. 
  Then the make fails.  I looked at phobos, and it seems like mmap isn't 
entirely essential because most of the code can use equivelant Windows 
calls, which are available in WinCE.  One exception to that seems to be 
in phobos/internal/gc/gcgcc.d, where the alternative to "version 
(GC_Use_Alloc_MMap)" has //TODO written in it and no code to show.  I 
suppose there could be more if I haven't looked in enough files.

This who thing raises a few questions for me:
- When checks result in "no", why do some cause errors and failure while 
others do not?  Is it that only the things absolutely essential to D's 
functioning will throw errors in the make process?
- If mmap is not needed or I modify phobos to fix this, how do I get the 
configure script/makefile to adjust to this?
- If I modify gdc's phobos (count on it), should I submit my changes 
somewhere?  If so, how do I go about that?
- Is this thing even compiling (or going to compile) phobos as a Windows 
version, or is it doing something unfortunate for me like assuming the 
target is linux?

It might also be nice if someone with more knowledge of this stuff would 
handle the lack of an alternative to mmap in that gcgcc.d file, if it's 
necessary.  I will probably try to do it myself pretty soon, but I may 
get it wrong.

OK so now some possibly helpful info...

This is the configure I used:
sh /root/gcc/gdc-3.3.3/configure \
   --prefix=/usr/local/arm-wince-pe \
   --disable-nls \
   --disable-shared \
   --enable-multilib=no \
   --enable-languages=c,d,c++ \
   --with-build-time-tools=/usr/local/arm-wince-pe/bin \
   --with-as=/usr/local/arm-wince-pe/bin/arm-wince-pe-as \
   --with-ld=/usr/local/arm-wince-pe/bin/arm-wince-pe-ld \
   --with-sysroot=/usr/local/arm-wince-pe \
   --enable-phobos-config-dir=/usr/local/arm-wince-pe/phobos-config \
   --target=arm-wince-pe

Stuff that make printed out, as well as the libphobos config.log are 
attached.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: make.txt
Url: http://lists.puremagic.com/pipermail/d.gnu/attachments/20060423/1a6fd74a/attachment.txt 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config.log
Url: http://lists.puremagic.com/pipermail/d.gnu/attachments/20060423/1a6fd74a/attachment.diff 


More information about the D.gnu mailing list