Hi Jean-Sebastien,

for which Xcode versions shall we be heading for? 4.1 or 4.2 on Lion
(I have 4.2 dev preview 5 on one of my Lion systems to develop iOS 5
apps) and 4.0.2 on snow leopard? I would then check which would be the
min LLVM/clang version that needs to be supported.

Shall we try to keep GCC compatibility if possible (e.g. should it be
possible to build Tuscany on platforms where there's no LLVM
distribution available)? On FreeBSD for instance it's your own
decision whether to compile the system's user-land utilities etc.
either using GCC or LLVM/clang. FreeBSD makes this possible by either
setting CC to CC=gcc or CC=clang and so on in /etc/make.conf. Maybe we
could use a similar mechanism...

Concerning CMake - That has for now low priority to me I would focus
on LLVM and if that is done on CMake.

Cheers
Daniel

On Sat, Aug 6, 2011 at 8:14 PM, Jean-Sebastien Delfino
<jsdelf...@apache.org> wrote:
> 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