Alexandre Isoard via llvm-dev
2016-Sep-09 14:22 UTC
[llvm-dev] [RFC] One or many git repositories?
What I never understood is that Clang depends on LLVM (and LLVM doesn't depends on Clang), yet Clang source code is more or less expected to be in the LLVM source tree where I would have expected the reverse, that is LLVM in the source tree of Clang and optionally compiled when compiling Clang. On Fri, Sep 9, 2016 at 3:11 PM, Mehdi Amini via llvm-dev < llvm-dev at lists.llvm.org> wrote:> > > On Sep 9, 2016, at 2:11 AM, Alexander Benikowski <sebal007 at googlemail.com> > wrote: > > I'd vote for having each component in a seperated Repository and using a > Monorepo with Submodules to work with. > Since CLang depends on LLVM but not vice versa (if i am not mistaken. I'm > new here), i'd prefer to just work with the LLVM repo if it is desired. > > > Can you elaborate why and what kind of workflow you have that would > benefit from this? > > Also did you read the document I sent with the examples? > > -- > Mehdi > > > > > 2016-09-08 21:49 GMT+02:00 Renato Golin via llvm-dev < > llvm-dev at lists.llvm.org>: > >> On 8 September 2016 at 19:37, Mehdi Amini via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> > I'd expect a cmake shortcut cmake >> > -DLLVM_ENABLE_PROjECTS=clang,libcxx,compiler-rt >> >> Hey, I like this idea! >> >> In that case, we don't need the directories in any particular >> location, as CMake would be able to find and link any place *we* want >> to put them in (in tree, flat out) and pull out their CMake files. >> >> This would also help each project to be built in its own, if they so >> require, without upsetting the LLVM-canon build style. >> >> cheers, >> --renato >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-- *Alexandre Isoard* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160909/ffaf3e18/attachment-0001.html>
Mehdi Amini via llvm-dev
2016-Sep-09 14:34 UTC
[llvm-dev] [RFC] One or many git repositories?
> On Sep 9, 2016, at 7:22 AM, Alexandre Isoard <alexandre.isoard at gmail.com> wrote: > > What I never understood is that Clang depends on LLVM (and LLVM doesn't depends on Clang), yet Clang source code is more or less expected to be in the LLVM source tree where I would have expected the reverse, that is LLVM in the source tree of Clang and optionally compiled when compiling Clang.I can't answer about why it is this way but: 1) you don't *have to* put clang inside llvm, it is just a convention. 2) the current monorepo proposal have all the projects one next to each other, and by default cmake path/to/llvm would configure only LLVM. -- Mehdi> >> On Fri, Sep 9, 2016 at 3:11 PM, Mehdi Amini via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> >>> On Sep 9, 2016, at 2:11 AM, Alexander Benikowski <sebal007 at googlemail.com> wrote: >>> >>> I'd vote for having each component in a seperated Repository and using a Monorepo with Submodules to work with. >>> Since CLang depends on LLVM but not vice versa (if i am not mistaken. I'm new here), i'd prefer to just work with the LLVM repo if it is desired. >> >> Can you elaborate why and what kind of workflow you have that would benefit from this? >> >> Also did you read the document I sent with the examples? >> >> -- >> Mehdi >> >> >> >>> >>> 2016-09-08 21:49 GMT+02:00 Renato Golin via llvm-dev <llvm-dev at lists.llvm.org>: >>>> On 8 September 2016 at 19:37, Mehdi Amini via llvm-dev >>>> <llvm-dev at lists.llvm.org> wrote: >>>> > I'd expect a cmake shortcut cmake >>>> > -DLLVM_ENABLE_PROjECTS=clang,libcxx,compiler-rt >>>> >>>> Hey, I like this idea! >>>> >>>> In that case, we don't need the directories in any particular >>>> location, as CMake would be able to find and link any place *we* want >>>> to put them in (in tree, flat out) and pull out their CMake files. >>>> >>>> This would also help each project to be built in its own, if they so >>>> require, without upsetting the LLVM-canon build style. >>>> >>>> cheers, >>>> --renato >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> llvm-dev at lists.llvm.org >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> > > > > -- > Alexandre Isoard-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160909/c8fe0daf/attachment.html>
Krzysztof Parzyszek via llvm-dev
2016-Sep-09 14:42 UTC
[llvm-dev] [RFC] One or many git repositories?
On 9/9/2016 9:34 AM, Mehdi Amini via llvm-dev wrote:> I can't answer about why it is this way but: > 1) you don't *have to* put clang inside llvm, it is just a convention. > 2) the current monorepo proposal have all the projects one next to each > other, and by default cmake path/to/llvm would configure only LLVM.I guess if the IR definiton was extracted into its own component, then both clang and LLVM could be independent from one another (both would depend on the IR). -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Alexandre Isoard via llvm-dev
2016-Sep-09 14:48 UTC
[llvm-dev] [RFC] One or many git repositories?
I have some clue. Clang started as a "side"-project to LLVM and it was easy to grow as a symbiote in the build system of LLVM. To stay on topic, I have one complaint about the single repository and it is that it might slow down efforts to separate all those project into independent build systems. For example, clang-extra-tools still require to be built into clang (probably for the same reason as above). I have no idea how to setup the build system of a tool that would require libclang. I never found any pkgconfig nor clang-config utilities for that. Is there any reason? On Fri, Sep 9, 2016 at 3:34 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:> > On Sep 9, 2016, at 7:22 AM, Alexandre Isoard <alexandre.isoard at gmail.com> > wrote: > > What I never understood is that Clang depends on LLVM (and LLVM doesn't > depends on Clang), yet Clang source code is more or less expected to be in > the LLVM source tree where I would have expected the reverse, that is LLVM > in the source tree of Clang and optionally compiled when compiling Clang. > > > I can't answer about why it is this way but: > 1) you don't *have to* put clang inside llvm, it is just a convention. > 2) the current monorepo proposal have all the projects one next to each > other, and by default cmake path/to/llvm would configure only LLVM. > > -- > Mehdi > > > On Fri, Sep 9, 2016 at 3:11 PM, Mehdi Amini via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> >> >> On Sep 9, 2016, at 2:11 AM, Alexander Benikowski <sebal007 at googlemail.com> >> wrote: >> >> I'd vote for having each component in a seperated Repository and using a >> Monorepo with Submodules to work with. >> Since CLang depends on LLVM but not vice versa (if i am not mistaken. I'm >> new here), i'd prefer to just work with the LLVM repo if it is desired. >> >> >> Can you elaborate why and what kind of workflow you have that would >> benefit from this? >> >> Also did you read the document I sent with the examples? >> >> -- >> Mehdi >> >> >> >> >> 2016-09-08 21:49 GMT+02:00 Renato Golin via llvm-dev < >> llvm-dev at lists.llvm.org>: >> >>> On 8 September 2016 at 19:37, Mehdi Amini via llvm-dev >>> <llvm-dev at lists.llvm.org> wrote: >>> > I'd expect a cmake shortcut cmake >>> > -DLLVM_ENABLE_PROjECTS=clang,libcxx,compiler-rt >>> >>> Hey, I like this idea! >>> >>> In that case, we don't need the directories in any particular >>> location, as CMake would be able to find and link any place *we* want >>> to put them in (in tree, flat out) and pull out their CMake files. >>> >>> This would also help each project to be built in its own, if they so >>> require, without upsetting the LLVM-canon build style. >>> >>> cheers, >>> --renato >>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> > > > -- > *Alexandre Isoard* > >-- *Alexandre Isoard* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160909/4fcfc95a/attachment.html>