doc/en_US.ISO8859-1/books/porters-handbook/uses.xml
Chris Rees a83d0a09a3 Document remaining USES values.
Approved by:	gjb (mentor)
2013-06-29 14:26:29 +00:00

196 lines
7.2 KiB
XML

<!--
The FreeBSD Documentation Project
$FreeBSD$
This file documents the values of the USES make variable. The format is
easy to grasp from the already-added entries below (or use this scheme
below as a skeleton):
<row>
<entry><literal>FEATURE</literal></entry>
<entry>ARGUMENTS</entry>
<entry>DESCRIPTION</entry>
</row>
-->
<row>
<entry><literal>ada</literal></entry>
<entry>(none)</entry>
<entry>Depends on an <application>Ada</application>-capable compiler, and
sets <makevar>CC</makevar> accordingly.</entry>
</row>
<row>
<entry><literal>bison</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/bison</filename> in one way or another. By
default, with no arguments or with the <literal>build</literal>
argument, it implies <command>bison</command> as a build-time
dependency, <literal>run</literal> implies a run-time dependency,
and <literal>both</literal> implies both run-time and build-time
dependencies.</entry>
</row>
<row>
<entry><literal>charsetfix</literal></entry>
<entry>(none)</entry>
<entry>Prevents the port from installing <filename>charset.alias</filename>.
This should be installed only by
<filename role="package">converters/libiconv</filename>.
<makevar>CHARSETFIX_MAKEFILEIN</makevar> can be set to a path relative
to <makevar>WRKSRC</makevar> if <filename>charset.alias</filename> is
not installed by
<makevar>WRKSRC</makevar>/<filename>Makefile.in</filename>.</entry>
</row>
<row>
<entry><literal>cmake</literal></entry>
<entry>(none), <literal>outsource</literal></entry>
<entry>The port will use <application>CMake</application> for
configuring and building. With the <literal>outsource</literal>
argument, an out-of-source build will be performed. For more
information see <xref linkend="using-cmake"/>.</entry>
</row>
<row>
<entry><literal>desktop-file-utils</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses the
<application>update-desktop-database</application> from
<filename role="package">devel/desktop-file-utils</filename>.
This uses will automatically add a post-install step in such a way
that the port itself still can specify there own post-install step
if needed. It also insert lines into the plist for package
install and removal to run
<application>update-desktop-database</application>.</entry>
</row>
<row>
<entry><literal>fuse</literal></entry>
<entry>(none)</entry>
<entry>Implies the port will depend on the FUSE library and handle
the dependency on the kernel module depending on the version
of &os;.</entry>
</row>
<row>
<entry><literal>gettext</literal></entry>
<entry>(none), <literal>lib</literal>, <literal>build</literal>,
<literal>run</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/gettext</filename> in one way or another. By
default, with no arguments or with the <literal>lib</literal>
argument, implies <command>gettext</command> with build-time and
run-time dependencies, <literal>build</literal> implies a build-time
dependency, and <literal>run</literal> implies a run-time
dependency.</entry>
</row>
<row>
<entry><literal>iconv</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses <filename
role="package">converters/libiconv</filename> as build-time and
run-time dependency.
</entry>
</row>
<row>
<entry><literal>ncurses</literal></entry>
<entry>(none), <literal>base</literal>, <literal>port</literal></entry>
<entry>Implies that the port uses <application>ncurses</application>, and
causes some useful variables to be set.</entry>
</row>
<row>
<entry><literal>pathfix</literal></entry>
<entry>(none)</entry>
<entry>Look for the <filename>Makefile.in</filename> and
<filename>configure</filename> files in the port's associated
sources and fix common paths to make sure they respect the &os;
hierarchy.</entry>
</row>
<row>
<entry><literal>pkgconfig</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/pkgconf</filename> in one way or another.
With no arguments or with the <literal>build</literal>
argument, it implies <command>pkg-config</command> as a build-time
dependency; <literal>run</literal> implies a run-time dependency;
and <literal>both</literal> implies both run-time and build-time
dependencies.</entry>
</row>
<row>
<entry><literal>qmail</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal>, <literal>vars</literal></entry>
<entry>Implies that the port uses <filename
role="package">mail/qmail</filename> in one way or another.
With the <literal>build</literal> argument, it implies
<command>qmail</command> as a build-time dependency.
<literal>run</literal> implies a run-time dependency. Using no
argument or the <literal>both</literal> argument implies both
run-time and build-time dependencies. <literal>vars</literal>
will only set QMAIL variables for the port to use.</entry>
</row>
<row>
<entry><literal>readline</literal></entry>
<entry>(none), port</entry>
<entry>Implies that the port uses <application>readline</application> as
library dependency, and sets <makevar>CPPFLAGS</makevar> and
<makevar>LDFLAGS</makevar> as necessary.</entry>
</row>
<row>
<entry><literal>shared-mime-info</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses
<application>update-mime-database</application> from
<filename role="package">misc/shared-mime-info</filename>. This
uses will automatically add a post-install step in such a way that
the port itself still can specify there own post-install step if
needed. It also insert lines into the plist for package install
and removal to run
<application>update-mime-data</application> with the correct
arguments.</entry>
</row>
<row>
<entry><literal>shebangfix</literal></entry>
<entry>(none)</entry>
<entry>A lot of software uses incorrect locations for script interpreters,
most notably <filename>/usr/bin/perl</filename> and
<filename>/bin/bash</filename>. This fixes shebang lines in scripts
listed in <makevar>SHEBANG_FILES</makevar>. Currently
<application>Perl</application>, <application>Python</application>,
<application>Bash</application>, <application>Ruby</application>,
and <application>PHP</application> are supported by default.
To support another interpreter, set <makevar>SHEBANG_LANG</makevar>
(for example <literal><makevar>SHEBANG_LANG</makevar>=lua</literal>), then
<makevar>lua_OLD_CMD</makevar> and <makevar>lua_CMD</makevar>.</entry>
</row>
<row>
<entry><literal>zenoss</literal></entry>
<entry>(none)</entry>
<entry>Implies the port uses <filename
role="package">net-mgmt/zenoss</filename> in one way or another,
but largely is used for building zenoss related zenpack
ports.</entry>
</row>