Hi LLVM Devs, I recently finished working for Intel/Movidius, and thought that before I start working on some new LLVM project, that this would be a good time to discard all of my old practices (which began with v2.7, and has gathered crud over the years) and restart with a brand new fresh LLVM approach directly from head. In preparation for doing this, I would like to know what is the current status of using GIT vs SVN and should I start afresh with the GIT repositories? There is also the issue of Mono vs Multiple repositories, and which I select will be somewhat dictated by recommended best approach, and how big the Mono repository is to clone for the first time as I have ISP download caps to contend with. I would prefer to have a Mono installation, and that way be able to track future development of all LLVM projects; but I also need to be able to enable and disable subprojects cleanly as I need them - for instance, at this time I am not yet ready for LLD and I don't need DragonEgg, so although they are in the Mono repository, I need to be able to configure my build to exclude them. Mostly I expect that I will be working on cross-compilers for embedded systems, so cross-compilation of the libraries is important. Historically I have done this with my own hand-crafted build systems (for LibC++ and Compiler-RT), but would like to do this with the integrated LLVM prescribed approach when possible. For testing I have never used the LLVM test-suite, nor the LIT and LNT frameworks, but in a fresh context I would like to get these up and running as soon as possible. My primary development platform is Windows, with various Linux distros for verifying my development. And if possible, I would like to construct a private BuildBot for each target I am working on that mirrors the LLVM community BuildBots - but this is also something I have never done. To date, all of my testing for cross-development systems has used bespoke test harnesses and I would like to learn how to run the standard testing too; especially on Windows (8.1 and 10). Advice on getting set up with a fresh start would be greatly appreciated, as well as Newbie advice for how to test LLVM since in this regard I am a newbie. Thanks, MartinO -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180513/b7e366cd/attachment.html>
I recommend using https://github.com/llvm-project/llvm-project-20170507 if you can spare 1.1 GB of disk and bandwidth for the initial checkout and git repo itself. It's just a few minutes behind the svn master copies. I don't know of a better monorepo at present. Although everything is there, things such as clang and compiler-rt aren't actually built unless you saymlink them into the appropriate place in the llvm directory. If you want to actually submit patches then you'll need to make patch files and send them to the svn master. On Sun, May 13, 2018 at 10:37 PM, Martin J. O'Riordan via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi LLVM Devs, > > > > I recently finished working for Intel/Movidius, and thought that before I > start working on some new LLVM project, that this would be a good time to > discard all of my old practices (which began with v2.7, and has gathered > crud over the years) and restart with a brand new fresh LLVM approach > directly from head. > > > > In preparation for doing this, I would like to know what is the current > status of using GIT vs SVN and should I start afresh with the GIT > repositories? There is also the issue of Mono vs Multiple repositories, > and which I select will be somewhat dictated by recommended best approach, > and how big the Mono repository is to clone for the first time as I have > ISP download caps to contend with. I would prefer to have a Mono > installation, and that way be able to track future development of all LLVM > projects; but I also need to be able to enable and disable subprojects > cleanly as I need them - for instance, at this time I am not yet ready for > LLD and I don’t need DragonEgg, so although they are in the Mono > repository, I need to be able to configure my build to exclude them. > > > > Mostly I expect that I will be working on cross-compilers for embedded > systems, so cross-compilation of the libraries is important. Historically > I have done this with my own hand-crafted build systems (for LibC++ and > Compiler-RT), but would like to do this with the integrated LLVM prescribed > approach when possible. > > > > For testing I have never used the LLVM test-suite, nor the LIT and LNT > frameworks, but in a fresh context I would like to get these up and running > as soon as possible. My primary development platform is Windows, with > various Linux distros for verifying my development. And if possible, I > would like to construct a private BuildBot for each target I am working on > that mirrors the LLVM community BuildBots - but this is also something I > have never done. To date, all of my testing for cross-development systems > has used bespoke test harnesses and I would like to learn how to run the > standard testing too; especially on Windows (8.1 and 10). > > > > Advice on getting set up with a fresh start would be greatly appreciated, > as well as Newbie advice for how to test LLVM since in this regard I am a > newbie. > > > > Thanks, > > > > MartinO > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://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/20180513/229013f2/attachment.html>
On Sun, May 13, 2018 at 8:48 PM Bruce Hoult via llvm-dev < llvm-dev at lists.llvm.org> wrote:> I recommend using https://github.com/llvm-project/llvm-project-20170507if you can spare 1.1 GB of disk and bandwidth for the initial checkout and git repo itself.> It's just a few minutes behind the svn master copies. I don't know of abetter monorepo at present.> Although everything is there, things such as clang and compiler-rt aren'tactually built unless you saymlink them into the appropriate place in the llvm directory. There's an updated process for getting this done, supported by the CMake configurations. See https://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-a-git-monorepo for details.> If you want to actually submit patches then you'll need to make patchfiles and send them to the svn master. There's a way of doing this through the monorepo with the scripts that are already in the llvm project. See the link above too for details. In particular, I encourage everyone to use the Phabricator installation and the pre-commit review process as well. I also encourage everyone to give the monorepo process a whirl, as it's been getting much better and easier for projects that need to make changes across the various repositories at once. Cheers> On Sun, May 13, 2018 at 10:37 PM, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org> wrote:>> Hi LLVM Devs,>> I recently finished working for Intel/Movidius, and thought that beforeI start working on some new LLVM project, that this would be a good time to discard all of my old practices (which began with v2.7, and has gathered crud over the years) and restart with a brand new fresh LLVM approach directly from head.>> In preparation for doing this, I would like to know what is the currentstatus of using GIT vs SVN and should I start afresh with the GIT repositories? There is also the issue of Mono vs Multiple repositories, and which I select will be somewhat dictated by recommended best approach, and how big the Mono repository is to clone for the first time as I have ISP download caps to contend with. I would prefer to have a Mono installation, and that way be able to track future development of all LLVM projects; but I also need to be able to enable and disable subprojects cleanly as I need them - for instance, at this time I am not yet ready for LLD and I don’t need DragonEgg, so although they are in the Mono repository, I need to be able to configure my build to exclude them.>> Mostly I expect that I will be working on cross-compilers for embeddedsystems, so cross-compilation of the libraries is important. Historically I have done this with my own hand-crafted build systems (for LibC++ and Compiler-RT), but would like to do this with the integrated LLVM prescribed approach when possible.>> For testing I have never used the LLVM test-suite, nor the LIT and LNTframeworks, but in a fresh context I would like to get these up and running as soon as possible. My primary development platform is Windows, with various Linux distros for verifying my development. And if possible, I would like to construct a private BuildBot for each target I am working on that mirrors the LLVM community BuildBots - but this is also something I have never done. To date, all of my testing for cross-development systems has used bespoke test harnesses and I would like to learn how to run the standard testing too; especially on Windows (8.1 and 10).>> Advice on getting set up with a fresh start would be greatlyappreciated, as well as Newbie advice for how to test LLVM since in this regard I am a newbie.>> Thanks,>> MartinO>> _______________________________________________ >> 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-- Dean
[Remembering to re-add llvm-dev this time...]> My primary development platform is Windows,Make sure you do git config core.autocrlf input to (help) avoid line-ending issues. This isn't in the LLVM git-related documentation anywhere, that I know of, but it has been helpful for me (using git mono-repo for a while and recently moving my upstream development to Windows). (In particular, finding this setting and forcing fresh checkouts addressed ~50 lit test failures I had in the Clang tests.) Have fun! --paulr