<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD$">
<!ENTITY title "FreeBSD GNOME Project: GNOME Desktop-Independent Components">
<!ENTITY email "freebsd-gnome">
<!ENTITY % navinclude.gnome "INCLUDE">
]>
<html>
  &header;

		<p> To see how to utilize these components, please examine the
		  <a href="example-Makefile.html">example Makefile</a>.
		</p>

<!-- Begin USE_GNOME components list -->
	  <table class="tblbasic" summary="GNOME desktop-independent components">
		    <tr>
			  <th>COMPONENT</th>
			  <th>ASSOCIATED PROGRAM</th>
			  <th>IMPLIED COMPONENTS</th>
			</tr>

			<tr>
			  <td><tt>esound</tt></td>
			  <td><tt>audio/esound</tt></td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

			<tr>
			  <td><tt>gnomehack</tt></td>
			  <td colspan="2"><tt>gnomehack</tt> makes common GNOME
			    Makefile substitutions that nearly every GNOME port
			    requires to fit into the proper mtree structure.
			  </td>
			</tr>

			<tr>
			  <td><tt>gnomehier</tt></td>
			  <td colspan="2"><tt>gnomehier</tt> installs all the
			    directories needed for both the GNOME 1 and 2 desktops.
				Only include this option if your port calls <tt>@dirrm</tt>
				on one of the directories listed in the plist for
				<tt>gnomehier</tt>.
			  </td>
			</tr>

			<tr>
			  <td><tt>gnomemimedata</tt></td>
			  <td><tt>misc/gnome-mime-data</tt></td>
			  <td><tt>gnomehier pkgconfig</tt></td>
			</tr>

			<tr>
			  <td><tt>gnomeprefix</tt></td>
			  <td><tt>gnomeprefix</tt> sets some CONFIGURE_ARGS
			    to ensure data is placed properly within the GNOME hierarchy.
			  </td>
			  <td><tt>gnomehier</tt></td>
			</tr>

			<tr>
			  <td><tt>intlhack</tt></td>
			  <td><tt>intlhack</tt> registers a dependency upon
			    <tt>textproc/intltool</tt> and patches broken
				<tt>intltool-merge.in</tt> implementations.
			  </td>
			  <td><tt>intltool</tt></td>
			</tr>

			<tr>
			  <td><tt>intltool</tt></td>
			  <td><tt>intltool</tt> registers a
			    BUILD_DEPENDS on
			    <tt>textproc/intltool</tt>.
			  </td>
			  <td><tt>&nbsp;</tt></td>
		        </tr>

			<tr>
			  <td><tt>lthack</tt></td>
			  <td><tt>lthack</tt> prevents the installation of .la
			    files and ensures that <tt>${PTHREAD_LIBS}</tt>
			    will be passed to the linker.
			    <b>NOTE:</b> lthack is <b>DEPRECATED</b>,
			    and <tt>USE_AUTOTOOLS=libtool:15</tt> should be
			    used instead.  See the <a
			    href="porting.html#libtool">libtool
			    section</a> of the porting guide for more
			    details.
			  </td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

			<tr>
			  <td><tt>ltasneededhack</tt></td>
			  <td><tt>ltasneededhack</tt> hacks the port's
			    libtool so that the <tt>-Wl,--as-needed</tt>
			    flag is passed to the linker.  This will result
			    in shared objects with smaller ELF NEEDED
			    sections which can improve the startup time
			    and module load time of some applications.
			    In order to use <tt>ltasneededhack</tt>
			    the port must define
			    <tt>USE_AUTOTOOLS=libtool:15</tt>.
			    <b>NOTE:</b> be sure to thoroughly test
			    the resulting application to make sure
			    there are no undefined symbol errors after
			    adding this hack.
			  </td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

			<tr>
			  <td><tt>ltverhack</tt></td>
			  <td><tt>ltverhack</tt> normalizes shared
			    object versions so that they do not change
			    needlessly.  Using <tt>ltverhack</tt>
			    keeps shared object versions in line with
			    what they should be and what they end up
			    being on other operating systems.  In
			    order to use <tt>ltverhack</tt> the port
			    must define
			    <tt>USE_AUTOTOOLS=libtool:15</tt>.
			  </td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

			<tr>
			  <td><tt>pkgconfig</tt></td>
			  <td><tt>pkgconfig</tt> registers a dependency upon
			    <tt>devel/pkg-config</tt> to make sure it is installed.
			  </td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

			<tr>
			  <td><tt>referencehack</tt></td>
			  <td><tt>referencehack</tt> is designed for
			    ports that install API reference
			    documentation.  These ports should use
			    <tt>referencehack</tt> then another port
			    with a <tt>-reference</tt> suffix should
			    be created to install this documentation.
			    See <tt>devel/glib20</tt> and
			    <tt>devel/glib20-reference</tt> for an
			    example.</td>
			  <td><tt>&nbsp;</tt></td>
			</tr>

		  </table>
<!-- End GNOME-related Makefile macros -->

          <p>If you still need help with your port, have a look at some of
	    the <a href="/ports/gnome.html">existing ports</a> for examples.
	    The <a href="mailto:&email;@FreeBSD.org">freebsd-gnome mailing
	    list</a> is also there for you.</p>

  &footer;
  </body>
</html>
