If you're reading this, chances are you just cloned the git repository of some
lila software. Congratulations! :)
Now unlike with the tarball of a release, you're not quite ready to go, there
are a few steps required in order to get things good to go :
1. First, you need the component *comain* in order to continue. This will
provide scripts and other files needed for configure, etc
You can simply run `make` to have comain's repo cloned and checked out at
the right version for you. If you'd rather do it yourself, or get a release
tarball, go ahead.
The minimum version needed can be found in meta/deps/comain/version
2. Once comain is there, if you haven't already you can run `make` to create
needed symlinks such as `configure` or `common.mk`
3. Good, but there might be other components needed to build this software.
Worry not, comain can help you and set them all up for you. To do so, simply
run `comain/getdeps`
Each components will then be cloned and checked out as needed. Should you
want to do so manually, you can instead run `comain/getdeps list` and it will
only list all required components and their minimum version.
By default, in addition to components `comain/getdeps` will also set up
dependencies that are marked to be included in the release tarball. Those are
usually also set to be statically linked, thus providing no runtime
dependency.
If you do *not* want that, and would like only components to be processed,
simply run `comain/getdeps cpnt` instead.
4. Now that components are all set up, there might be dependencies as well -
that is, librairies needed to build the software.
Some dependencies might be classified as "internal", meaning their source
code is included in release tarballs and by default they're linked
statically, thus leading to no runtime dependencies.
Usually, there's only one such dependency, lila's very own `limb`
If you didn't use `comain/getdeps` on step 3 and now wishes for those to be
setup by comain, you can use `comain/getdeps intdeps`
You can also use comain to clone repos of *all* dependencies by running
`comain/getdeps alldeps` or pick one and use `comain/getdeps dep NAME` where
`NAME` is to be the name of the dependency to clone the repo of.
5. That's it, finally you're ready! You can now use `./configure` and `make` as
usual.