On Sat, Aug 6, 2011 at 2:14 AM, dsh <daniel.hais...@googlemail.com> wrote:
> Hi Jean-Sebastien,
>
> if you like I could take a look at LLVM/clang. From my point of view
> it not only integrates more nicely with Xcode but you would as well
> get rid of dynamically linking against things like libgcc* which
> sometimes triggers licensing discussions if talking to attorneys.
>
> If you think it would make sense I could also have a look at replacing
> the autotools stuff (automake) by CMake. The latter would generate IDE
> project setups such as that for Xcode on the fly and Xcode provides
> the same level of abstraction like you would get it from GNU autotools
> et al.
>
> PS: I am on vacation till Aug. 15th and wanted to do some C/C++ coding
> anyway so maybe that's a nice match and additional excercise I could
> have.
>
> Cheers
> Daniel

Hi Daniel,

Cool! I'll be happy to work with you on this!

Porting Tuscany to Clang shouldn't be too hard.

To build on Mac OS X Snow Leopard or Lion, take a look at the INSTALL
doc and the macos/macos-install script, which builds Tuscany and all
its dependencies from source. The dependencies can be built with the
GCC 4.2 shipped with Xcode. Tuscany needs GCC 4.4+ as it requires some
C++0x features.

To build with CLang/LLVM you'll probably just have to set
CC=/usr/bin/clang, CXX=/usr/bin/clang++, then add -std=libc++ to the
Tuscany configure.ac script. Then you'll have to adjust bits of the
code, in particular to convert usages of __thread to Posix thread TLS
calls, and perhaps fix up some of the C++0x variadic templates which
showed compile errors last time I tried. I had tried an earlier
version of Clang but Xcode 4.1 now ships Clang/LLVM 3.0, which should
support everything that's needed.

To remove all the dependencies on the GCC libs, the next step would be
to build all the Tuscany dependencies with Clang as well. Most of
their builds are Autoconf/Automake based so you could try to just run
them with the CC and CXX environment variables set to point to clang
and clang++. That should work for most... and then go from there...

About CMake, I don't know it well, so I'm not sure but my guess is
that'll be more work as there's 44 Makefile.am configs in the source
tree, unless you have a way to convert them quasi-automatically to
CMake equivalent configs...

Have a nice vacation :) For any questions, issues etc look for me on
gtalk, irc #tuscany or post here on the list.
-- 
Jean-Sebastien

Reply via email to