[libcxx-commits] [libcxx] 61e8973 - [libc++] Simplify the configuration of the C++ ABI library

Shoaib Meenai via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 2 11:37:28 PDT 2020


Hah, that’s what I get for not reading. Will respond there.

From: Nico Weber <thakis at chromium.org>
Date: Thursday, April 2, 2020 at 11:36 AM
To: Shoaib Meenai <smeenai at fb.com>
Cc: Hans Wennborg <hans at chromium.org>, Louis Dionne <ldionne at apple.com>, "libcxx-commits at lists.llvm.org" <libcxx-commits at lists.llvm.org>
Subject: Re: [libcxx-commits] [libcxx] 61e8973 - [libc++] Simplify the configuration of the C++ ABI library

…see discussion on the bug that Louis linked to :)

On Thu, Apr 2, 2020 at 2:34 PM Shoaib Meenai via libcxx-commits <libcxx-commits at lists.llvm.org<mailto:libcxx-commits at lists.llvm.org>> wrote:
Can you just build the cxx-headers target instead of doing a full libc++ build? That's what we do for some of our builds which have a similar issue with requiring the headers.

On 4/2/20, 9:54 AM, "libcxx-commits on behalf of Hans Wennborg via libcxx-commits" <libcxx-commits-bounces at lists.llvm.org<mailto:libcxx-commits-bounces at lists.llvm.org> on behalf of libcxx-commits at lists.llvm.org<mailto:libcxx-commits at lists.llvm.org>> wrote:

    On Thu, Apr 2, 2020 at 8:21 AM Louis Dionne via libcxx-commits
    <libcxx-commits at lists.llvm.org<mailto:libcxx-commits at lists.llvm.org>> wrote:
    >
    >
    > Author: Louis Dionne
    > Date: 2020-04-02T02:21:15-04:00
    > New Revision: 61e89737c5daf7b65341936f88f68efb680cdcd4
    >
    > URL: https://github.com/llvm/llvm-project/commit/61e89737c5daf7b65341936f88f68efb680cdcd4
    > DIFF: https://github.com/llvm/llvm-project/commit/61e89737c5daf7b65341936f88f68efb680cdcd4.diff
    >
    > LOG: [libc++] Simplify the configuration of the C++ ABI library
    >
    > This commit removes support for building against the system libc++abi,
    > which was supported on Apple platforms. This is basically never what we
    > want to do, since libc++ and libc++abi are coupled and building a trunk
    > libc++ against an older libc++abi can lead to incompatibilities (and
    > good luck debugging them!). It might have made some sense to support
    > that when the monorepo did not exist, however I don't think this is
    > anything but a footgun nowadays.
    >
    > Furthermore, based on the newly-made assumption that we're building
    > against the monorepo libc++abi, we can simplify the search path logic
    > for finding libc++abi.
    >
    > This area of our build system has a lot of technical debt accumulated,
    > and it's surprisingly difficult to change. We've tried different things
    > and failed several times in the past. I did test this change on our
    > Docker image for the build bots and on Apple platforms, however it is
    > possible that this breaks some unknown configuration, in which case it
    > should be fine to revert this (so we can try again!).

    Well hello :-)

    This broke Chromium's packaging of Clang on Mac (see https://urldefense.proofpoint.com/v2/url?u=https-3A__crbug.com_1067216&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=SWiE-LfJQGnDioVJ_1oMe3PytSX5eiUvQpefAQsuazY&s=lE5OJxnVAVB3rbcM6cb6l_98rAS88IWoGG10qGpGhdA&e= ).

    We build libc++ as part of that process, not because we ship it with
    the compiler, but as part of the bootstrapping process: otherwise the
    just-built Clang doesn't find the c++ headers. Until now we've been
    building with -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_CXX_ABI_SYSTEM=1
    however with your patch that stopped working.

    I tried adding libcxxabi to -DLLVM_ENABLE_PROJECTS and dropping those
    two flags, but now building libcxxabi failed for unclear reasons
    ([1]).

    Would it be okay to revert your patch until we've figured this out?

    Thanks,
    Hans

     1. https://urldefense.proofpoint.com/v2/url?u=https-3A__logs.chromium.org_logs_chromium_buildbucket_cr-2Dbuildbucket.appspot.com_8884121514869999920_-2B_steps_package-5Fclang_0_stdout&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=SWiE-LfJQGnDioVJ_1oMe3PytSX5eiUvQpefAQsuazY&s=sjaVvsQRbGGGSN4z6WyYuXoG8V1t706w716SXjj6TKw&e=
    _______________________________________________
    libcxx-commits mailing list
    libcxx-commits at lists.llvm.org<mailto:libcxx-commits at lists.llvm.org>
    https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_libcxx-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=SWiE-LfJQGnDioVJ_1oMe3PytSX5eiUvQpefAQsuazY&s=00dVbLac1W5uZANZvwp36madK749LqVwkoD3LhxoVNo&e=


_______________________________________________
libcxx-commits mailing list
libcxx-commits at lists.llvm.org<mailto:libcxx-commits at lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits<https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_libcxx-2Dcommits&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=atdIR8G4r-9-qC19fWrsqvHB4XlO92zbMLR8eEx7y24&s=c6_cfmEucpaMpcKycRgVBHKDLWoPIcNt7rcMvSizBt4&e=>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200402/e3ebe33e/attachment-0001.html>


More information about the libcxx-commits mailing list