D.gnu - Build GDC on Windows
- Daniel Green (33/33) Feb 28 2010 First I want to mention, this is not a usable version of GDC. There is
- Daniel Green (14/14) Feb 28 2010 I forgot to mention the extra files needed to finish installation,
First I want to mention, this is not a usable version of GDC. There is a link issue with the phobos library and if you go through the effort of compiling tango-0.99.8, you're bound to run into a couple other issues. On the other hand, I don't know of anyone who is actively working with GDC and windows so any help would be appreciated in bringing an up to date GDC compiler to the platform. GDC Issues ---------- There seem to be a couple issues with GDC, I want to investigate further before writing bug reports. * I believe GDC is not storing enough file information with the -g option because GDB cannot find any source files. * Template errors, can give the wrong file name when it fails to instantiate a template. Phobos Issues ------------- Since I do not have any projects utilizing phobos, I can't test beyond simple linking which fails with an undefined reference. * undefined reference to 'libmsvcrt_a_iname' Tango Issues ------------ The newest release 0.99.9 does not yet support GDC, 0.99.8 does not support win32 & GDC. However it can be done and is not overly difficult, but you will likely encounter the following issues. * Variant with arrays fails with a template error. I believe it's related to void initliaziers resetting type to void. char[] tmp = void; declares tmp as void instead of char[]. * Throwing an exception inside a catch block causes the runtime to abort. * I believe there may be an GC issue somewhere. I wrote a program to try to understand D's garbage collection better, which would run indefinately when compiled with an older version of GDC. Now it segfaults after running about 10 seconds. It makes use of GC.addRoot method to hold on to malloced memory.
Feb 28 2010
I forgot to mention the extra files needed to finish installation, because I really wouldn't recommend copying the files from your MinGW install. Copied from http://www.tdragon.net/recentgcc/ All files can be found at http://sourceforge.net/projects/mingw/files/ * binutils : binutils-2.19.1-mingw32-bin.tar.gz * mingw-runtime : mingwrt-3.16-mingw32-dev.tar.gz & mingwrt-3.16-mingw32-dll.tar.gz * w32api : w32api-3.13-mingw32-dev.tar.gz Optional: * mingw-utils : mingw-utils-0.4-1-mingw32-bin.tar.lzma * mingw32-make : make-3.81-20090914-mingw32-bin.tar.gz * gdb. http://gdcwin.sourceforge.net/ has one, but I think there was a newer 6.8 out there.
Feb 28 2010