Once you've configured jhbuild as described above, building gtkmm should be relatively straightforward. The first time you run jhbuild, you should run the following sequence of commands to ensure that jhbuild has the required tools and verify that it is set up correctly:
$ jhbuild bootstrap $ jhbuild sanitycheck
If everything worked correctly, you should be able to build gtkmm and
all of its dependencies from git by executing jhbuild
build (or, if you didn't specify gtkmm in the
modules
variable, with the command jhbuild
build gtkmm).
This command will build and install a series of modules and will probably take quite a long time the first time through. After the first time, however, it should go quite a bit faster since it only needs to rebuild files that changed since the last build. Alternatively, after you've built and installed gtkmm the first time, you can rebuild gtkmm by itself (without rebuilding all of its dependencies) with the command jhbuild buildone gtkmm.
After you've installed the git version of gtkmm, you're ready to start
using and experimenting with it. In order to use the new version of
gtkmm you've just installed, you need to set some environment
variables so that your configure
script knows where
to find the new libraries. Fortunately,
jhbuild offers an easy solution to this
problem. Executing the command jhbuild shell will
start a new shell with all of the correct environment variables set.
Now if you re-configure and build your project just as you usually do,
it should link against the newly installed libraries. To return to your
previous environment, simply exit the jhbuild
shell.
Once you've built your software, you'll need to run your program within the jhbuild environment as well. To do this, you can again use the jhbuild shell command to start a new shell with the jhbuild environment set up. Alternatively, you can execute a one-off command in the jhbuild environment using the following command: jhbuild run command-name. In this case, the command will be run with the correct environment variables set, but will return to your previous environment after the program exits.