aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/htdocs/gnome/docs/gnome_porting.xml
blob: 7f297aa7b02cb372cf64ecb1063d8172b7cff9fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD GNOME Project: GNOME Desktop-Independent Components">
<!ENTITY email "freebsd-gnome">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
      <title>&title;</title>

      <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
    </head>

    <body class="navinclude.gnome">

		<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>

  </body>
</html>