The Legato project uses the Google repo tool to manage multiple git repositories. When we were trying to figure out how to manage the mangOH source we wanted to be consistent with legato since the mangOH source code is mostly just apps on top of Legato.
The problem we have found with repo is that it isn’t supported under Windows. Another downside of repo is that it’s another tool to learn on top of git (which is already difficult enough to learn). The reason why repo isn’t really supported on Windows is that repo relies heavily on symlinks and symlinks are poorly supported on Windows.
As a result we have decided to switch from repo to git submodules to manage multiple git repositories. What this means is that how you get and build source code for mangOH will be changing a bit.
To get the mangOH source code, run
git clone --recursive https://github.com/mangOH/mangOH mangOH_from_github
This will create a folder
mangOH_from_github on your machine that contains only the mangOH source code and it’s submodules. If you
cd into your
mangOH_from_github folder, you can see which submodules are included by doing
git submodule status. I’m not going to to through everything to do with submodules. If you’re interested, do
git help submodule.
A notable difference between the contents of
mangOH_from_github and what you would get using the previous
repo based method is that there is no legato source code in
mangOH_from_github. To build the code, you can do
make wp85 from the
mangOH_from_github directory. This should create
mangOH_Green.wp85.update. The system update file created will integrate the legato dependencies from your toolchain rather than an explicit legato checkout. If you want to build against a customized legato, you can still do that by following the Legato build instruction and then running
make --include-dir=$LEGATO_ROOT wp85 from the
mangOH_from_github folder. The
--include-dir option is required so that the build system can use some files from the Legato directory.
One (rather annoying) problem is that the master branch of the mangOH repository currently requires legato 16.10 and the associated toolchain to build and I think that it’s not available publicly yet. So to remedy this I will try to create a
for_legato_16.07 branch today that will allow mangOH to be built against 16.07.