Ticket #97 (closed enhancement: fixed)

Opened 5 months ago

Last modified 2 months ago

Support GDC (and maybe LDC?) in addition to DMD

Reported by: Anonymous Assigned to: sagitario
Priority: major Component: Project Management
Version: 0.3.29 Keywords:
Cc:

Description

Supporting GDC toolchains will allow VisualD access to a better compiler, and also to cross compilers for other architectures.

VisualD should also support the 'Platform' selector, potentially allowing configuration of a desired toolchain for each platform.

I would like to use an ARM build of GDC when the Android platform is selected, or a PowerPC toolchain when XBox is selected.

As with VisualStudio?, it should be possible to support multiple platforms (with potentially different compile options) within the one project/solution.

Change History

01/04/12 07:55:45 changed by Anonymous

That's what the "Build System" was meant for, but a current downside for GDC or LDC is debugger support: it would need a DWARF to PDB converter to support that.

So far, dmd can only generate win32 programs, so it did not make sense to support other platforms, but once other compilers are supported, adding other platforms should not be a large issue.

01/29/12 04:30:01 changed by sagitario

  • status changed from new to assigned.
  • component changed from Debugger to Project Management.

Slowly working on it. Is there a prebuilt LDC around? Does it also use DWARF debug information?

(follow-up: ↓ 4 ) 02/15/12 03:08:21 changed by sagitario

  • type changed from defect to enhancement.

I have uploaded VisualD-v0.3.31rc1.exe to the download folder, you might give it a try. To use gdc, (it must be found in the PATH) just select the "Compiler" in the project properties. Platforms supported are Win32 and x64 so far.

(in reply to: ↑ 3 ) 02/18/12 09:14:53 changed by Anonymous

I don't think relying on the compiler in the path is enough. Ideally, there should be a menu to configure toolchains. Ie, create a new toolchain, give it a name, paths to relevant exe's, etc. I use a x32, x64, ARM, and MIPS GDC for my experiments. Intend to add a PPC one to that at some point.

I think the toolchain used should be selectable per-configuration (or preferably, accordingly to the 'platform' selector, but that might be harder to hook in to?)

02/22/12 05:48:36 changed by sagitario

I was also thinking about adding a GDC configuration page like the current "Visual D directories" but could not come up with sensible options apart from the executable path.

Configuring a toolchain unknown to Visual D would mean to specify translation from all the project options to command line switches, including quirks like option order or merging options to single switches. That would need another configuration "language", probably with more functionality for every other new toolchain anyway.

The DMD/GDC switch is currently per configuration, and there is also the "Other Compiler" option to use some executable not found through PATH.

I am not sure how to deal with the ARM targets right now, but with the compilers being very experimental, I guess it is ok to just overwrite the -m32 or -m64 options with an "Additional command line" option right now.

(follow-up: ↓ 7 ) 03/09/12 20:05:14 changed by Anonymous

Can you update the command line box when selecting 'GDC' as the compiler to show the proper command line? It would be nice to see exactly how you're calling the compiler with various options selected.

Arm would ideally be interfaced via the 'Platform' selectbox. But more importantly, x64 should certainly be selectable from the Platform select box (GDC supports x64).

(in reply to: ↑ 6 ) 03/11/12 15:01:32 changed by sagitario

Replying to Anonymous:

Can you update the command line box when selecting 'GDC' as the compiler to show the proper command line? It would be nice to see exactly how you're calling the compiler with various options selected.

It is currently updated when reopening the dialog. I consider it a bug that it does not update when pressing apply, though.

Arm would ideally be interfaced via the 'Platform' selectbox. But more importantly, x64 should certainly be selectable from the Platform select box (GDC supports x64).

As the x64 platform is not in the default projects, you have to add it in the configuration manager (click the win32 entry and select "New...").

03/14/12 17:36:30 changed by sagitario

  • status changed from assigned to closed.
  • resolution set to fixed.

I'll close this report as GDC is supported with 0.3.31. If you see problems, please report as more specialized issues. Adding more platforms should not be a problem, but I'm not sure that generic support for unknown platforms is feasable.