HomePhabricator

[libcxxabi] Build both static and shared versions of libc++abi by default.

Authored by EricWF on Mar 3 2015, 7:59 AM.

Description

[libcxxabi] Build both static and shared versions of libc++abi by default.

Summary:
This patch builds both static and shared versions of libc++abi by default. It adds/repurposes the following cmake options:

  • LIBCXXABI_ENABLE_SHARED: Enable/disable building the shared library. (Previously using OFF would build the static library instead)
  • LIBCXXABI_ENABLE_STATIC: Enable/disable building the static library.

This patch also re-purposes the CMake target cxxabi to be a meta-target for cxxabi_shared and cxxabi_static. This could potentially break other builds that depend on cxxabi being a library target. We will need to apply a patch to libc++'s CMake before committing this change.

Running the tests is still only supported when the shared version is built. Support for running the tests against the static library will come in another patch.

Reviewers: jroelofs, mclow.lists, danalbert, compnerd

Reviewed By: danalbert, compnerd

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D8013

llvm-svn: 231075