<div dir="ltr">Hi Mikael,<div><br></div><div>Sorry for the delay, I was out of action for a few days... </div><div><br></div><div>Overall looks good, thanks for working on this, it really is important to have that info out there.</div>
<div><br></div><div>You'll also need to link your document from a more centralized page. Scan the root (<a href="http://llvm.org/docs">llvm.org/docs</a>) and find the best place to put this, possibly besides other ARM docs, or buildbots, and add a link to your document from there.</div>
<div><br></div><div>Some comments on the text:</div><div><br></div><div><div><br></div><div>=-=-=-=-=-=-=-= Text:</div><div>The ODROID-XU comes with 2 GB of RAM, which is just a tad too little to build</div><div>LLVM as the linking process requires up to 4 GB of virtual memory to complete.</div>
<div>Create and mount a swap file using the steps below:</div></div><div><br></div><div>++ I don't create swap files, as the build can take considerably longer. But in the case of ODroid, using "make -j4" might push the limits of the 2GB.</div>
<div>++ I don't object to this section, but would be good to explain that the -j4 is the reason, and that swap impacts quite a lot the build time</div><div><br></div><div>-- Alternatively, you could use Ninja Pools (<a href="http://martine.github.io/ninja/manual.html#ref_pool">http://martine.github.io/ninja/manual.html#ref_pool</a>) but we'd need to enable that by default on CMake to be effective without re-editing the Ninja file every time the CMake runs.</div>
<div><br></div><div><br></div><div><div>=-=-=-=-=-=-=-= Text:</div></div><div><div>You should create a boot time script to do the above as the change seems to</div><div>be lost after a system reboot (see the chapter on *Starting the Buildbot</div>
<div>Slave at Startup* for a sample init script).</div></div><div><br></div><div>++ The changes don't propagate between boots (ie. you may drop the "seems to")</div><div>++ Would be good if you could share how you did it, too. ;)</div>
<div><br></div><div><div>=-=-=-=-=-=-=-= Text:</div><div></div><div>   pacman -S base-devel</div><div>   pacman -S subversion</div><div>   pacman -S ccache</div><div>   pacman -S buildbot</div><div>   pacman -S htop</div>
</div><div><br></div>++ You forgot to add "pacman -Syu" which is required for the above commands to work<div>++ Also, you could have added all packages into one command, to relieve the package management system to re-set the package structure every time</div>
<div><br></div><div><div>=-=-=-=-=-=-=-= Text:</div><div></div><div>We're going to enable ``ccache`` globally by adding symlinks for ``gcc`` and</div><div>``g++`` to ``/usr/local/bin``, which is normally searched before ``/usr/bin``,</div>
<div>so that every invokation of either of these commands goes through ``ccache``:</div></div><div><br></div><div>++ I don't like this implementation of CCache. I think this should be a CMake command-line option, not a system symbolic link.</div>
<div>++ Did you try the CMake solution? Did it not work?</div><div><br></div><div><div>=-=-=-=-=-=-=-= Text:</div><div></div></div><div><div>Setting Up a Buildbot Master</div><div><br></div></div><div>++ This is entirely optional (from a buldslave point of view) and would be good if you could point out that</div>
<div>++ I'd recommend to both write "(optional)" and write that this is only needed in the first time</div><div><br></div><div><div>=-=-=-=-=-=-=-= Text:</div><div></div></div><div></div><div>         'name': 'clang-armv7la15-linux',<br>
</div><div><br></div><div>++ For consistency, please use "clang-native-arm-cortex-a15" for simple "check-all" bots.</div><div>++ As we get more bots running, we might think of a better name for them, I agree the current ones aren't good. ;)</div>
<div><br></div><div><br></div><div><div><div>=-=-=-=-=-=-=-= Text:</div><div></div></div><div></div><div>Installing and Configuring a Buildbot Slave</div></div><div><br></div><div>++ We already have a document on that, would be good to point to it.</div>
<div>++ If that doc is not good enough, updating it would be prefered</div><div><br></div><div><br></div><div><div><div>=-=-=-=-=-=-=-= Text:</div><div><div>Now you mail off three things to `Galina Kistanova <mailto:<a href="mailto:gkistanova@gmail.com">gkistanova@gmail.com</a>>`_:</div>
<div><br></div><div>#. The patch of the changes you made to Zorg (``svn diff > zorg.patch``).</div><div>#. The build slave's name (``mily-odroid-xu-1``).</div><div>#. And the secret password to the slave.</div></div>
<div><br></div><div>++ Of the three things above, only the password should be emailed to Galina directly</div><div>++ The names can be inferred from your patch to Zorg</div><div>++ And the patch should be sent to Galina, copying llvm-commits (more formalism than practicality, but still...)</div>
<div><br></div><div><br></div><div><div><div>=-=-=-=-=-=-=-= Text:</div><div>Epilogue<br></div><div><br></div><div>++ We don't normally put emails on our documentation, nor state the author explicitly, since they're changed by too many people</div>
<div>++ We don't want you to receive emails about other people's changes 10 years from now... ;)</div><div>++ Also, that diminishes the contribution of other folks to the docs, including changes and tips on the mailing list.</div>
<div><br></div><div><div><div><br></div><div>cheers,</div><div>--renato</div><div></div></div><div></div></div><div></div></div><div></div></div><div></div></div><div></div></div></div>