Calypso: Direct and full interfacing to C++

Elie Morisse via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu May 14 18:57:39 PDT 2015


On Thursday, 14 May 2015 at 20:23:47 UTC, Laeeth Isharc wrote:
> Elie,
>
> Congratulations on this very impressive work.
>
> Out of curiosity, how far away do you think it is from being at 
> a beta stage that one can use to write non-critical work in ?
>

Thanks Laeeth,

It's not too far I think. When finally comes the time when I can 
test one or two new complex libraries without triggering new bugs 
it should be good enough.

At the moment I'm focusing on libraries that depend on Boost and 
are one order of magnitude more "sophisticated" than Qt, once 
they work the way out to usable state with any library may be in 
sight.

> One open source library that might not be too tough but would 
> have high value in the financial domain is Quantlib.  (I don't 
> think it is heavily templated, but I don't yet know the 
> codebase well).
>
> https://github.com/lballabio/quantlib
>
> Also, I am embarrassed to confess that I still have trouble 
> building calypso (although I can build LDC fine).  Specifically 
> some symbols not found during compilation.  I can pull them out 
> if helpful, but I have tried several times over the past months 
> and it is different ones each time.

Missing symbols might be caused by your LLVM source tree having a 
different version from Arch's LLVM libraries. The changes made to 
LDC's CMake file are very primitive and won't check if the 
selected LLVM include/ and libraries match the one in 
LLVM_SOURCE_PATH added by Calypso. If you built and installed 
LLVM + Clang 3.6 yourself to /usr/local and if there's a 
different version from Arch packages in /usr, check that cmake 
got the right LLVM_CONFIG path with:

   $ cmake -LA |grep LLVM

If it didn't fix the value with $ cmake 
-DLLVM_CONFIG=/usr/local/bin/llvm-config ../Calypso

> Which commit of Calypso should I use, and which versions of 
> clang and llvm?  I am using arch linux.

The versions are the ones in the README, i.e the 3.6 branch of 
LLVM, Clang and compiler-rt.

I'll add a note about the not very smart detection of LLVM libs, 
and if some of the instructions in the README are still confusing 
or incomplete please tell me.


More information about the Digitalmars-d-announce mailing list