Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > e40b0b2b839eccdb3c85993a7b738115 > files > 39

gtkmm-documentation-3.24.0-1.mga7.noarch.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Appendix F. Working with gtkmm's Source Code</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Programming with gtkmm 3">
<link rel="up" href="index.html" title="Programming with gtkmm 3">
<link rel="prev" href="sec-windows-installation.html" title="Appendix E. gtkmm and Win32">
<link rel="next" href="sec-installing-jhbuild.html" title="Installing and Using the git version of gtkmm">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Appendix F. Working with gtkmm's Source Code</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="sec-windows-installation.html"><img src="icons/prev.png" alt="Prev"></a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="sec-installing-jhbuild.html"><img src="icons/next.png" alt="Next"></a>
</td>
</tr>
</table>
<hr>
</div>
<div class="appendix">
<div class="titlepage"><div><div><h1 class="title">
<a name="chapter-working-with-source"></a>Appendix F. Working with gtkmm's Source Code</h1></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<ul class="toc">
<li><span class="sect1"><a href="chapter-working-with-source.html#sec-setting-up-jhbuild">Setting up jhbuild</a></span></li>
<li><span class="sect1"><a href="sec-installing-jhbuild.html">Installing and Using the git version of <span class="application">gtkmm</span></a></span></li>
</ul>
</div>
<p>
    If you are interested in helping out with the development of <span class="application">gtkmm</span>, or
    fixing a bug in <span class="application">gtkmm</span>, you'll probably need to build the development
    version of <span class="application">gtkmm</span>. However, you should not install a development version over
    your stable version. Instead, you should install it alongside your existing <span class="application">gtkmm</span>
    installation, in a separate path.
  </p>
<p>
    The easiest way to do this is using <a class="ulink" href="https://wiki.gnome.org/Projects/Jhbuild" target="_top">jhbuild</a>.
    <span class="application">jhbuild</span> is a program that makes building GNOME
    software much easier by calculating dependencies and building things in the
    correct order. This section will give a brief explanation of how to set up
    <span class="application">jhbuild</span> to build and install <span class="application">gtkmm</span> from the
    source repository (git). For up-to-date information
    on <span class="application">jhbuild</span>, please refer to the <a class="ulink" href="http://developer.gnome.org/jhbuild/unstable/" target="_top">jhbuild manual</a>.
    If you need assistance using <span class="application">jhbuild</span>, you should
    ask for help on the <a class="ulink" href="http://mail.gnome.org/mailman/listinfo/gnome-love" target="_top">gnome-love
      mailing list</a>.
  </p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="icons/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
    Note that to build <span class="application">gtkmm</span> from git, you'll often need to build many of its
    dependencies from git as well. <span class="application">jhbuild</span> makes
    this easier than it would normally be, but it will take quite a while to
    build and install them all. You will probably encounter build problems,
    though these will usually be corrected quickly if you report them.
    </p></td></tr>
</table></div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="sec-setting-up-jhbuild"></a>Setting up jhbuild</h2></div></div></div>
<p>
      To set up <span class="application">jhbuild</span>, follow the basic
      installation instructions from the <a class="ulink" href="http://developer.gnome.org/jhbuild/unstable/" target="_top">jhbuild manual</a>.
      After you have installed <span class="application">jhbuild</span>, you
      should copy the sample <span class="application">jhbuild</span> configuration
      file into your home directory by executing the following command from the
      <span class="application">jhbuild</span> directory:
      </p>
<pre class="screen">$ cp examples/sample.jhbuildrc ~/.jhbuildrc</pre>
<p>
    </p>
<p>
      The <span class="application">gtkmm</span> module is defined in the
      <code class="filename">gnome-suites-core-deps-3.x.modules</code> moduleset, so edit your
      <code class="filename">.jhbuildrc</code> file and set your moduleset setting to the
      latest version e.g. like so:
      </p>
<pre class="programlisting">moduleset = 'gnome-suites-core-deps-3.12'</pre>
<p>
    </p>
<p>
      After setting the correct moduleset, you need to tell
      <span class="application">jhbuild</span> which module or modules to build. To
      build <span class="application">gtkmm</span> and all of its dependencies, set <code class="varname">modules</code>
      like so:
      </p>
<pre class="programlisting">modules = [ 'gtkmm' ]</pre>
<p>
    </p>
<p>
      You can build several modules by setting the
      <code class="varname">modules</code> variable to a meta-package, e.g.
      <code class="literal">meta-gnome-core</code>, or listing more than one module name.
      The <code class="varname">modules</code> variable specifies which modules will be
      built when you don't explicitly specify anything on the command line. You
      can always build a different moduleset later by specifying it on the
      commandline (e.g. <span class="command"><strong>jhbuild build gtkmm</strong></span>).
    </p>
<div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important: Setting a prefix">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="icons/important.png"></td>
<th align="left">Setting a prefix</th>
</tr>
<tr><td align="left" valign="top"><p>
        By default, <span class="application">jhbuild</span>'s configuration is
        configured to install all software built with
        <span class="application">jhbuild</span> under the
        <code class="filename">/opt/gnome</code> prefix. You can choose a different
        prefix, but it is recommended that you keep this prefix different from
        other software that you've installed (don't set it to
        <code class="filename">/usr</code>!) If you've followed the jhbuild instructions
        then this prefix belongs to your user, so you don't need to run jhbuild
        as <code class="literal">root</code>.
      </p></td></tr>
</table></div>
<p>
      When you downloaded <span class="application">jhbuild</span> from the git repository,
      you got a number of <code class="filename">.modules</code> files, specifying
      dependencies between modules. By default <span class="application">jhbuild</span>
      does not use the downloaded versions of these files, but reads the
      latest versions in the git repository. This is usually what you want.
      If you don't want it, use the <code class="varname">use_local_modulesets</code>
      variable in <code class="filename">.jhbuildrc</code>.
    </p>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="sec-windows-installation.html"><img src="icons/prev.png" alt="Prev"></a> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="sec-installing-jhbuild.html"><img src="icons/next.png" alt="Next"></a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Appendix E. <span class="application">gtkmm</span> and Win32 </td>
<td width="20%" align="center"><a accesskey="h" href="index.html"><img src="icons/home.png" alt="Home"></a></td>
<td width="40%" align="right" valign="top"> Installing and Using the git version of <span class="application">gtkmm</span>
</td>
</tr>
</table>
</div>
</body>
</html>