Bug 13266 – Support DRuntime/Phobos

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
visuald
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2014-08-06T05:14:00Z
Last change time
2015-01-01T22:10:28Z
Assigned to
nobody
Creator
turkeyman

Attachments

IDFilenameSummaryContent-TypeSize
1382druntime.visualdprojVisual D project for druntimetext/plain27674
1383phobos.visualdprojVisual D project for phobostext/plain38717
1384phobos.visualdprojVisual D project for phobostext/plain44717

Comments

Comment #0 by turkeyman — 2014-08-06T05:14:47Z
I've tried to create VisualD projects for druntime and phobos on a couple of occasions, and it's not really possible in a nice way. I'm thinking that VisualD really should be able to express the 2 most standard and highly iterated D projects that exist :) (and include VS project files in the source trees, like DMD has a VS project now) Rainer: Have you had a go at this yourself? How did you go? What did you do about the few .c and .asm files? I've suggested in the past that it would be really nice if VisualD could support building C files too, for these sorts of cases where a project relies on a couple of rogue C files. It's easy for GDC/LDC because the GCC/Clang command lines are basically identical. For DMD, I guess it implies invoking either DMC for Win32, or MSC for Win64. The other key detail is that each .c/.asm file needs to produce its own .obj like usual and automatically find it's way into the link command. This would be a super-helpful feature, since practically all my VisualD projects have this problem with 1-2 rogue .c files, and I have to create separate parallel vcxproj files for them, and then stuff around with the linker. What do you reckon?
Comment #1 by r.sagitario — 2014-08-08T09:51:13Z
Created attachment 1382 Visual D project for druntime
Comment #2 by r.sagitario — 2014-08-08T09:51:51Z
Created attachment 1383 Visual D project for phobos
Comment #3 by r.sagitario — 2014-08-08T09:57:20Z
Created attachment 1384 Visual D project for phobos
Comment #4 by r.sagitario — 2014-08-08T10:03:53Z
I have attached my projects. I usually only use them for browsing, but I have now tweaked them to build both for Win32 and Win64. There are some explicite paths in there, though (e.g dmc.exe and dmd.exe). I have to agree that setting this up can be painful, especially if different C/C++ compilers are involved. To avoid having to configure each C file manually, selecting C compiler and options per configuration would be necessary.
Comment #5 by turkeyman — 2014-08-09T04:24:36Z
(In reply to Rainer Schuetze from comment #4) > I have to agree that setting this up can be painful, especially if different > C/C++ compilers are involved. To avoid having to configure each C file > manually, selecting C compiler and options per configuration would be > necessary. I think a lot of it would be implicit. DMD-32 kinda implies DMC, DMD-64 kinda implies MSC, GDC->GCC, LDC->Clang? A couple of C options might need to be exposed, but just a couple of particularly important ones, like a language standard selector, and basics like include paths, RTTI/C++ Exceptions. Anyway, it's obviously not high priority, but it would definitely be nice, because the druntime situation is pretty common.
Comment #6 by r.sagitario — 2015-01-01T22:10:28Z
basic C++ support in 0.3.40, seems to work for druntime/phobos, too.