Calypso: Direct and full interfacing to C++

Elie Morisse via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Jan 21 15:21:07 PST 2015


On Wednesday, 21 January 2015 at 10:37:18 UTC, Suliman wrote:
> Could you explain how to build it's on Windows. I read readme, 
> but do not fully understand what I should to to to get it's 
> work?

You should follow the guides for LDC only you need to build Clang 
3.5 as well beforehand and add the 
-DLLVM_SOURCE_PATH="/path/to/llvm/source/tree" argument to the 
cmake command while building Calypso.

Using Visual Studio:
http://wiki.dlang.org/Building_and_hacking_LDC_on_Windows_using_MSVC

Using MinGW :
http://wiki.dlang.org/Building_LDC_on_MinGW_x86

Currently making D classes derive from C++ classes with a virtual 
table only works with MinGW because only the Itanium ABI is 
supported. I'm going to add the Microsoft ABI ASAP (it's just a 
few lines of code) but it'll be untested.

On Wednesday, 21 January 2015 at 21:27:27 UTC, Walter Bright 
wrote:
> I think this is an exciting development!
>
> Considering the new D support for C++ namespaces, template 
> mangling, etc., I think it would make Calypso's job easier. The 
> big challenge is to get an interface to C++ STL, so one could 
> do:
>
>   import core.stdcpp.stl.vector;
>
> for example.
>
> I'd also like to encourage you to submit a Dconf 2015 
> presentation proposal on this.

Thanks, Walter!


A small update since the announcement: instantiation of C++ class 
templates is now working, with the right partial specialization 
selected if any.

I'm still working as fast as I can to get Ogre3D working. Ogre3D 
makes wide usage of the standard C++ library so getting it 
running would be a milestone and at that point most C++ libraries 
will be usable or in close reach as well. And it'd also make a 
sweet demo :)


More information about the Digitalmars-d-announce mailing list