<div>Hello,</div><div>it's first report for project "Provide an alternative to libstdc++ with libc++"[0], mentored by Sylvestre Ledru.</div><div><br></div><div>Libc++ is new C++ standard library, with some nice features, described in my proposal[0] and project's website[1]. But it's writed on Mac, for MacOS X, and need some coding and porting to work on Debian. Also, aim is to provide user-friendly way to use this library, so I packaging it.</div>



<div><br></div><div>For better platform-independence, libc++ built on top of some low-level code, that realizes so-called ABI - memory allocation, exceptions support, and so on. Libc++ can use libstdc++ ABI functions, but can use new ABI library - libc++abi[2], designed specially for libc++. So I porting libc++abi too.</div>



<div><br></div><div>All code of these projects is contained in SVN repositories. So I've copied them, and periodically update.</div><div><br></div><div>Previous two weeks I had classes, so my progress isn't great. But I've completed my classes, now I have exams at 9,16 and 25 July. Now I'm totally free (except these 3 days)  and can work with full power :)</div>



<div><br></div><div>At first two weeks I've builded first "dirty" package. </div><div><br></div><div>It contains both libc++ and libc++abi. Maybe it's better to split their, and make dependency libc++->libc++abi. But libc++abi uses some headers from libc++, so build-dependency of libc++abi should contain libc++-dev. I'll consult with my mentor, what way is better.</div>



<div><br></div><div>Both is compiled as shared libraries, and libc++abi must be explicit linked to application when using libc++. It isn't friendly for end-user. I've tried on this week creating static libc++abi and compile it to libc++; and libtool for auto-solving inter-library dependencies,   but yet it's unsuccesful.</div>



<div><br></div><div>Also, headers installed to libcxx and libcxxabi in /usr/include, and must be explicit connected to compiling application. It's isn't good, and I'll work on this.</div><div><br></div><div>I've added modified file unwind.h from libgcc headers, because standart header version 4.6 differs from version 4.4 that used on Mac, and clang doesn't understand __unwind_word__ (in 4.4 it's simple __word__).</div>



<div><br></div><div>To create package I created patches for buildit - files, that builds libraries.</div><div><br></div><div>I heard libc++ has ported by FreeBSD[3], so I'll try find some files from this.</div><div>
***</div><div>Links:</div><div>[0] - <a href="http://wiki.debian.org/SummerOfCode2012/StudentApplications/AndrejBelym" style="background-color:transparent" target="_blank">http://wiki.debian.org/SummerOfCode2012/StudentApplications/AndrejBelym</a></div>



<div>[1] - <a href="http://libcxx.llvm.org/" style="background-color:transparent" target="_blank">http://libcxx.llvm.org/</a></div><div>[2] - <a href="http://libcxxabi.llvm.org/" style="background-color:transparent" target="_blank">http://libcxxabi.llvm.org/</a></div>



<div>[3] - <a href="http://www.phoronix.com/scan.php?page=news_item&px=MTEwNjA" style="background-color:transparent;color:rgb(17,85,204)" target="_blank">http://www.phoronix.com/scan.php?page=news_item&px=MTEwNjA</a></div>