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 cpnt`
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.
As an added bonus, it will also list dependencies.
If you just want to see what would happen, an option `--dry-run` (or `-n`)
can be used, e.g: `comain/getdeps -n cpnt`
4. Now that components are all set up, there might be dependencies as well -
that is, libraries needed to build the software.
As a way to help, it is possible to use them in so-called "internal" mode,
which simply means instead of installing the library into the system, you can
just put it in the `deps` folder.
Of course, you'll need to build it as well. By default such "internal"
dependencies are linked statically, so only building static libraries is
enough.
Once again, a little helper might come in handy: `comain/getdeps deps` will
do for libraries what it did for components : clone their repos into `deps`
and checking the needed branch/tag.
Except that it does so recursively, so all dependencies of the dependencies
will also be cloned.
Additionally, you can then have them all built using `comain/blddeps`
Note that it does so recursively, so all dependencies of the dependencies
will also be built, assuming it is available in the `deps` folder of course.
5. That's it, finally you're ready! You can now use `./configure` and `make` as
usual.