svn commit: r44959 - head/en_US.ISO8859-1/books/porters-handbook/special
Mathieu Arnold
mat at FreeBSD.org
Mon May 26 16:34:05 UTC 2014
Author: mat (ports committer)
Date: Mon May 26 16:34:04 2014
New Revision: 44959
URL: http://svnweb.freebsd.org/changeset/doc/44959
Log:
Major axing of the lua part, it is much, much simpler now.
Sponsored by: Absolight
Modified:
head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Mon May 26 15:14:15 2014 (r44958)
+++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Mon May 26 16:34:04 2014 (r44959)
@@ -3676,355 +3676,21 @@ PLIST_SUB+= VERSION="${VER_STR}"
<sect2 xml:id="lua-version">
<title>Version Selection</title>
- <para>To make your port use a specific version of
- <application>Lua</application> there are two variables
- available for defining (if only one is defined the other
- will be set to a default value):</para>
-
- <table xml:id="lua-ver-sel-table" frame="none">
- <title>Variables to Select <application>Lua</application>
- Versions</title>
+ <para>A port using <application>Lua</application> only needs to
+ have the following line:</para>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Variable</entry>
- <entry>Description</entry>
- <entry>Default value</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><varname>USE_LUA</varname></entry>
- <entry>List of versions the port can use</entry>
- <entry>All available versions</entry>
- </row>
-
- <row>
- <entry><varname>USE_LUA_NOT</varname></entry>
- <entry>List of versions the port can not use</entry>
- <entry>None</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>The following is a list of available
- <application>Lua</application> versions and the
- corresponding ports in the tree:</para>
-
- <table frame="none" xml:id="using-lua-available-versions">
- <title>Available <application>Lua</application>
- Versions</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Version</entry>
- <entry>Port</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>4.0</literal></entry>
- <entry><package
- role="port">lang/lua4</package></entry>
- </row>
-
- <row>
- <entry><literal>5.0</literal></entry>
- <entry><package
- role="port">lang/lua50</package></entry>
- </row>
-
- <row>
- <entry><literal>5.1</literal></entry>
- <entry><package role="port">lang/lua</package></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>The variables in <xref linkend="lua-ver-sel-table"/> can
- be set to one or more of the following combinations
- separated by spaces:</para>
-
- <table frame="none" xml:id="using-lua-version-specifications">
- <title><application>Lua</application> Version
- Specifications</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Description</entry>
- <entry>Example</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Single version</entry>
- <entry><literal>4.0</literal></entry>
- </row>
-
- <row>
- <entry>Ascending range</entry>
- <entry><literal>5.0+</literal></entry>
- </row>
-
- <row>
- <entry>Descending range</entry>
- <entry><literal>5.0-</literal></entry>
- </row>
-
- <row>
- <entry>Full range (must be ascending)</entry>
- <entry><literal>5.0-5.1</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>There are also some variables to select the preferred
- versions from the available ones. They can be set to a list
- of versions, the first ones will have higher
- priority.</para>
-
- <table frame="none" xml:id="using-lua-variables">
- <title>Variables to Select Preferred
- <application>Lua</application> Versions</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Designed for</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><varname>WANT_LUA_VER</varname></entry>
- <entry>the port</entry>
- </row>
-
- <row>
- <entry><varname>WITH_LUA_VER</varname></entry>
- <entry>the user</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <example xml:id="lua-version-example">
- <title>Selecting the <application>Lua</application>
- Version</title>
-
- <para>The following fragment is from a port which can use
- <application>Lua</application> version
- <literal>5.0</literal> or <literal>5.1</literal>, and uses
- <literal>5.0</literal> by default. It can be overridden
- by the user with <varname>WITH_LUA_VER</varname>.</para>
-
- <programlisting>USE_LUA= 5.0-5.1
-WANT_LUA_VER= 5.0</programlisting>
- </example>
- </sect2>
-
- <sect2 xml:id="lua-components">
- <title>Component Selection</title>
-
- <para>There are other applications that, while not being
- <application>Lua</application> libraries, are related to
- them. These applications can be specified in the
- <varname>LUA_COMPS</varname> variable. The following
- components are available:</para>
-
- <table frame="none" xml:id="using-lua-components-list">
- <title>Available <application>Lua</application>
- Components</title>
-
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Description</entry>
- <entry>Version restriction</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>lua</literal></entry>
- <entry>main library</entry>
- <entry>none</entry>
- </row>
-
- <row>
- <entry><literal>tolua</literal></entry>
- <entry>Library for accessing C/C++ code</entry>
- <entry><literal>4.0-5.0</literal></entry>
- </row>
-
- <row>
- <entry><literal>ruby</literal></entry>
- <entry>Ruby bindings</entry>
- <entry><literal>4.0-5.0</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <note>
- <para>There are more components but they are modules for the
- interpreter, not used by applications (only by other
- modules).</para>
- </note>
-
- <para>The dependency type can be selected for each component
- by adding a suffix separated by a semicolon. If not present
- then a default type will be used (see
- <xref linkend="lua-def-dep-types"/>). The following types
- are available:</para>
-
- <table frame="none" xml:id="using-lua-dependency-types">
- <title>Available <application>Lua</application> Dependency
- Types</title>
+ <programlisting>USES= lua</programlisting>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Description</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>build</literal></entry>
- <entry>Component is required for building, equivalent
- to <varname>BUILD_DEPENDS</varname></entry>
- </row>
-
- <row>
- <entry><literal>run</literal></entry>
- <entry>Component is required for running, equivalent
- to <varname>RUN_DEPENDS</varname></entry>
- </row>
-
- <row>
- <entry><literal>lib</literal></entry>
- <entry>Component is required for building and running,
- equivalent to <varname>LIB_DEPENDS</varname></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>The default values for the components are detailed in
- the following table:</para>
-
- <table xml:id="lua-def-dep-types" frame="none">
- <title>Default <application>Lua</application> Dependency
- Types</title>
-
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Component</entry>
- <entry>Dependency type</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><literal>lua</literal></entry>
- <entry><literal>lib</literal> for
- <literal>4.0-5.0</literal> (shared) and
- <literal>build</literal> for <literal>5.1</literal>
- (static)</entry>
- </row>
-
- <row>
- <entry><literal>tolua</literal></entry>
- <entry><literal>build</literal> (static)</entry>
- </row>
-
- <row>
- <entry><literal>ruby</literal></entry>
- <entry><literal>lib</literal> (shared)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <example xml:id="lua-components-example">
- <title>Selecting <application>Lua</application>
- Components</title>
-
- <para>The following fragment corresponds to a port which
- uses <application>Lua</application> version
- <literal>4.0</literal> and its
- <application>Ruby</application> bindings.</para>
-
- <programlisting>USE_LUA= 4.0
-LUA_COMPS= lua ruby</programlisting>
- </example>
- </sect2>
-
- <sect2 xml:id="lua-version-detection">
- <title>Detecting Installed Versions</title>
-
- <para>To detect an installed version you have to define
- <varname>WANT_LUA</varname>. If you do not set it to a
- specific version then the components will have a version
- suffix. The <varname>HAVE_LUA</varname> variable will be
- filled after detection.</para>
-
- <example xml:id="lua-ver-det-example">
- <title>Detecting Installed <application>Lua</application>
- Versions and Components</title>
-
- <para>The following fragment can be used in a port that uses
- <application>Lua</application> if it is installed, or an
- option is selected.</para>
-
- <programlisting>WANT_LUA= yes
-
-.include <bsd.port.pre.mk>
-
-.if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01])
-USE_LUA= 5.0-5.1
-CONFIGURE_ARGS+= --enable-lua5
-.endif</programlisting>
-
- <para>The following fragment can be used in a port that
- enables <application>tolua</application> support if it is
- installed or if an option is selected, in addition to
- <application>Lua</application>, both version
- <literal>4.0</literal>.</para>
-
- <programlisting>USE_LUA= 4.0
-LUA_COMPS= lua
-WANT_LUA= 4.0
-
-.include <bsd.port.pre.mk>
-
-.if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua)
-LUA_COMPS+= tolua
-CONFIGURE_ARGS+= --enable-tolua
-.endif</programlisting>
- </example>
+ <para>If a specific version of Lua is needed, instructions on
+ how to select it are given in the <link
+ linkend="uses-lua"><literal>USES=lua</literal></link> part
+ of <xref linkend="uses-values"/>.</para>
</sect2>
<sect2 xml:id="lua-defined-variables">
<title>Defined Variables</title>
- <para>The following variables are available in the port (after
- defining one from
- <xref linkend="lua-ver-sel-table"/>).</para>
+ <para>The following variables are available in the port.</para>
<table frame="none" xml:id="using-lua-variables-ports">
<title>Variables Defined for Ports That Use
@@ -4047,13 +3713,6 @@ CONFIGURE_ARGS+= --enable-tolua
</row>
<row>
- <entry><varname>LUA_VER_SH</varname></entry>
- <entry>The <application>Lua</application> shared
- library major version (e.g.,
- <literal>1</literal>)</entry>
- </row>
-
- <row>
<entry><varname>LUA_VER_STR</varname></entry>
<entry>The <application>Lua</application> version
without the dots (e.g.,
@@ -4122,75 +3781,9 @@ CONFIGURE_ARGS+= --enable-tolua
<entry>The path to the <application>Lua</application>
compiler</entry>
</row>
-
- <row>
- <entry><varname>TOLUA_CMD</varname></entry>
- <entry>The path to the
- <application>tolua</application> program</entry>
- </row>
</tbody>
</tgroup>
</table>
-
- <example xml:id="lua-variables-example">
- <title>Telling the Port Where to Find
- <application>Lua</application></title>
-
- <para>The following fragment shows how to tell a port that
- uses a configure script where the
- <application>Lua</application> header files and libraries
- are.</para>
-
- <programlisting>USE_LUA= 4.0
-GNU_CONFIGURE= yes
-CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"</programlisting>
- </example>
- </sect2>
-
- <sect2 xml:id="lua-premk">
- <title>Processing in
- <filename>bsd.port.pre.mk</filename></title>
-
- <para>If you need to use the variables for running commands
- right after including <filename>bsd.port.pre.mk</filename>
- you need to define <varname>LUA_PREMK</varname>.</para>
-
- <important>
- <para>If you define <varname>LUA_PREMK</varname>, then the
- version, dependencies, components and defined variables
- will not change if you modify the
- <application>Lua</application> port variables
- <emphasis>after</emphasis> including
- <filename>bsd.port.pre.mk</filename>.</para>
- </important>
-
- <example xml:id="lua-premk-example">
- <title>Using <application>Lua</application> Variables in
- Commands</title>
-
- <para>The following fragment illustrates the use of
- <varname>LUA_PREMK</varname> by running the
- <application>Lua</application> interpreter to obtain the
- full version string, assign it to a variable and pass it
- to the program.</para>
-
- <programlisting>USE_LUA= 5.0
-LUA_PREMK= yes
-
-.include <bsd.port.pre.mk>
-
-.if exists(${LUA_CMD})
-VER_STR!= ${LUA_CMD} -v
-
-CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
-.endif</programlisting>
- </example>
-
- <note>
- <para>The <application>Lua</application> variables can be
- safely used in commands when they are inside targets
- without the need of <varname>LUA_PREMK</varname>.</para>
- </note>
</sect2>
</sect1>
More information about the svn-doc-all
mailing list