This is an archive of the discontinued LLVM Phabricator instance.

Fix re-building in-tree libc++ against in-tree libc++abi
ClosedPublic

Authored by kutuzov.viktor.84 on Aug 6 2014, 2:10 AM.

Details

Summary

Since the LIBCXX_CXX_ABI variable is a cached one, the code that detects in-tree libc++abi (added in rL214037) only executes during the initial build, so any successive builds actually link against the system (and not the in-tree) libc++abi.

This patch fixes that bug by introducing a dedicated non-cached variable LIB_CXX_ABI_LIBNAME.

Diff Detail

Repository
rL LLVM

Event Timeline

kutuzov.viktor.84 retitled this revision from to Fix re-building in-tree libc++ against in-tree libc++abi.
kutuzov.viktor.84 updated this object.
kutuzov.viktor.84 edited the test plan for this revision. (Show Details)
kutuzov.viktor.84 added a subscriber: Unknown Object (MLST).

Added support for custom library names specified with LIBCXX_CXX_ABI.

Also, it seems we should replace 'NOT DEFINED LIBCXX_CXX_ABI' with just 'NOT LIBCXX_CXX_ABI' as LIBCXX_CXX_ABI is defined during successive builds.

'NOT DEFINED LIBCXX_CXX_ABI' replaced with 'NOT LIBCXX_CXX_ABI'; '${LIBCXX_CXX_ABI}' quoted when set to LIBCXX_CXX_ABI_LIBNAME.

danalbert accepted this revision.Aug 7 2014, 11:44 PM
danalbert edited edge metadata.

Confirmed this fixes the issue. Nice catch.

This revision is now accepted and ready to land.Aug 7 2014, 11:44 PM
kutuzov.viktor.84 updated this revision to Diff 12300.

Closed by commit rL215186 (authored by vkutuzov).