Welcome to little lamb

Code » test-rolling-hash » next » tree

[next] / meta / README.git

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.