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