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