Matthias Braun via llvm-dev
2021-Oct-08 01:56 UTC
[llvm-dev] Proposal: introduce dependency on abseil when building benchmarks
> On Sep 30, 2021, at 10:07 AM, Mircea Trofin via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > TL;DR; When either of LLVM_BUILD_BENCHMARKS or LIBCXX_INCLUDE_BENCHMARKS are enabled, as well as for llvm-test-suite, a dependency to abseil would either be auto-downloaded by the build system, or need to be user-specifiable, or provided in the source tree.FWIW: I'm not a fan of auto-downloading stuff. That's just a sneaky to add a dependency that sure may not give trouble to the users where the auto-download succeeds. But many companies have their build farms isolated from the internet and security people would not be happy if we just download a blob of code from a separate project that can change somewhat unnoticed by users of LLVM. Can't we copy the thing into the LLVM repository (aka vendoring) like we copied the benchmark library? I feel that things become a different story when we actually add dependencies... - Matthias
Mircea Trofin via llvm-dev
2021-Oct-08 02:18 UTC
[llvm-dev] Proposal: introduce dependency on abseil when building benchmarks
On Thu, Oct 7, 2021 at 6:57 PM Matthias Braun <matthiasb at fb.com> wrote:> > > > On Sep 30, 2021, at 10:07 AM, Mircea Trofin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > TL;DR; When either of LLVM_BUILD_BENCHMARKS or LIBCXX_INCLUDE_BENCHMARKS > are enabled, as well as for llvm-test-suite, a dependency to abseil would > either be auto-downloaded by the build system, or need to be > user-specifiable, or provided in the source tree. > > FWIW: I'm not a fan of auto-downloading stuff. That's just a sneaky to add > a dependency that sure may not give trouble to the users where the > auto-download succeeds. But many companies have their build farms isolated > from the internet and security people would not be happy if we just > download a blob of code from a separate project that can change somewhat > unnoticed by users of LLVM. > > Can't we copy the thing into the LLVM repository (aka vendoring) like we > copied the benchmark library? I feel that things become a different story > when we actually add dependencies... >That is one of the options available in the proposed change in the benchmark project upstream (the 'provided in the source tree' option). So if we decided, in LLVM, that we wanted to update the forks we have of the benchmark project (assuming the other issues mentioned on this thread were resolved), then it's up to us to set it up like you described.> - Matthias-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/9012130d/attachment.html>
Stella Laurenzo via llvm-dev
2021-Oct-08 02:22 UTC
[llvm-dev] Proposal: introduce dependency on abseil when building benchmarks
Perhaps an unpopular opinion, but I don't see the value proposition in foundation things like benchmark taking such convenience dependencies. Abseil is not a lightweight dependency, either from the code or the build system perspective, and it will limit portability (such a thing is hard to prove, but I can speak from experience, being a downstream that has taken the time to scalpel Abseil out in order to achieve better compatibility and footprint). In my experience, there are typically a small handful of things that actually boost such a project (usually related to strings and collections). For foundation components, I would far rather see such things forked in if needed vs adding a hard dependency. Even better if components like abseil were unobtrusive in keeping things separated for this form of sharing. My project will most likely fork benchmark or switch to something lighter if it goes down this path. LLVM can of course take its own path but I generally consider forking when I see foundation components start down the path of losing control of their dependencies. On Thu, Oct 7, 2021, 6:57 PM Matthias Braun via llvm-dev < llvm-dev at lists.llvm.org> wrote:> > > > On Sep 30, 2021, at 10:07 AM, Mircea Trofin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > TL;DR; When either of LLVM_BUILD_BENCHMARKS or LIBCXX_INCLUDE_BENCHMARKS > are enabled, as well as for llvm-test-suite, a dependency to abseil would > either be auto-downloaded by the build system, or need to be > user-specifiable, or provided in the source tree. > > FWIW: I'm not a fan of auto-downloading stuff. That's just a sneaky to add > a dependency that sure may not give trouble to the users where the > auto-download succeeds. But many companies have their build farms isolated > from the internet and security people would not be happy if we just > download a blob of code from a separate project that can change somewhat > unnoticed by users of LLVM. > > Can't we copy the thing into the LLVM repository (aka vendoring) like we > copied the benchmark library? I feel that things become a different story > when we actually add dependencies... > > - Matthias > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/c78b1c70/attachment.html>