[Soc-coordination] Report 1 - Provide an alternative to libstdc++ with libc++

Andrej Belym white.wolf.2105 at gmail.com
Sat Jun 2 18:24:13 UTC 2012


Hello,
it's first report for project "Provide an alternative to libstdc++ with
libc++"[0], mentored by Sylvestre Ledru.

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.

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.

All code of these projects is contained in SVN repositories. So I've copied
them, and periodically update.

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 :)

At first two weeks I've builded first "dirty" package.

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.

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.

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.

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__).

To create package I created patches for buildit - files, that builds
libraries.

I heard libc++ has ported by FreeBSD[3], so I'll try find some files from
this.
***
Links:
[0] -
http://wiki.debian.org/SummerOfCode2012/StudentApplications/AndrejBelym
[1] - http://libcxx.llvm.org/
[2] - http://libcxxabi.llvm.org/
[3] - http://www.phoronix.com/scan.php?page=news_item&px=MTEwNjA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20120602/f58ffa4f/attachment.html>


More information about the Soc-coordination mailing list