svn commit: r42487 - head/en_US.ISO8859-1/books/porters-handbook
Brad Davis
brd at FreeBSD.org
Fri Aug 2 16:08:39 UTC 2013
Author: brd
Date: Fri Aug 2 16:08:38 2013
New Revision: 42487
URL: http://svnweb.freebsd.org/changeset/doc/42487
Log:
- Add a new section for Options Helpers from bapt@
Submitted by: bapt@
Reviewed by: Ken Reed <kreed002 at gmail.com>
Modified:
head/en_US.ISO8859-1/books/porters-handbook/book.xml
Modified: head/en_US.ISO8859-1/books/porters-handbook/book.xml
==============================================================================
--- head/en_US.ISO8859-1/books/porters-handbook/book.xml Fri Aug 2 06:01:58 2013 (r42486)
+++ head/en_US.ISO8859-1/books/porters-handbook/book.xml Fri Aug 2 16:08:38 2013 (r42487)
@@ -4629,6 +4629,247 @@ CONFIGURE_ARGS+= --disable-foo
.if ${VARIABLE:MVALUE}</programlisting>
</note>
</sect2>
+ <sect2>
+ <title>Options Helpers</title>
+
+ <para>There are some macros to help simplify conditional
+ values which differ based on the options set.</para>
+
+ <para>If <makevar>OPTIONS_SUB</makevar> is set to
+ <literal>yes</literal> then each of the options added
+ to <makevar>OPTIONS_DEFINE</makevar> will be added to
+ <makevar>PLIST_SUB</makevar>, for example:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPTIONS_SUB= yes</programlisting>
+
+ <para> is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+PLIST_SUB+= OPT1=""
+.else
+PLIST_SUB+= OPT1="@comment "
+.endif</programlisting>
+
+ <para>If <makevar>X_CONFIGURE_ENABLE</makevar> is set then
+ <literal>--enable-${X_CONFIGURE_ENABLE}</literal>
+ or <literal>--disable-${X_CONFIGURE_ENABLE}</literal> will
+ be added to <makevar>CONFIGURE_ARGS</makevar> depending on
+ the value of the option<makevar>X</makevar>, for example:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CONFIGURE_ENABLE= test</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --enable-test
+.else
+CONFIGURE_ARGS+= --disable-test
+.endif</programlisting>
+
+ <para>If <makevar>X_CONFIGURE_WITH</makevar> is set then
+ <literal>--with-${X_CONFIGURE_WITH}</literal>
+ or <literal>--without-${X_CONFIGURE_WITH}</literal> will
+ be added to <makevar>CONFIGURE_ARGS</makevar> depending
+ on the status of the option <makevar>X</makevar>,
+ for example:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CONFIGURE_WITH= test</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --with-test
+.else
+CONFIGURE_ARGS+= --without-test
+.endif</programlisting>
+
+ <para>If <makevar>X_CONFIGURE_ON</makevar> is set then its value
+ will be appended to <makevar>CONFIGURE_ARGS</makevar> depending
+ on the status of the option <makevar>X</makevar>, for example:
+ </para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CONFIGURE_ON= --add-test</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --add-test
+.endif</programlisting>
+
+ <para>If <makevar>X_CONFIGURE_OFF</makevar> is set then its value
+ will be appended to <makevar>CONFIGURE_ARGS</makevar> depending
+ on the status of the option <makevar>X</makevar>, for example:
+ </para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CONFIGURE_OFF= --no-test</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+.include <bsd.port.options.mk>
+.if ! ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --no-test
+.endif</programlisting>
+
+ <para>If <makevar>X_CMAKE_ON</makevar> is set then its value
+ will be appended to <makevar>CMAKE_ARGS</makevar> depending
+ on the status of the option <makevar>X</makevar>, for example:
+ </para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CMAKE_ON= -DTEST:BOOL=true</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+CMAKE_ARGS+= -DTEST:BOOL=true
+.endif</programlisting>
+
+ <para>If <makevar>X_CMAKE_OFF</makevar> is set then its value
+ will be appended to <makevar>CMAKE_ARGS</makevar> depending
+ on the status of the option <makevar>X</makevar>, for example:
+ </para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_CMAKE_OFF= -DTEST:BOOL=false</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ! ${PORT_OPTIONS:MOPT1}
+CMAKE_ARGS+= -DTEST:BOOL=false
+.endif</programlisting>
+
+ <para>For any of the following variables:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><makevar>CFLAGS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>CXXFLAGS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>LDLAGS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>CONFIGURE_ENV</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>MAKE_ENV</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>USES</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>DISTFILES</makevar></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>If <makevar>X_ABOVEVARIABLE</makevar> is defined then
+ its value will be appended to
+ <makevar>ABOVEVARIABLE</makevar> depending on the status of
+ the option <makevar>X</makevar>, for example:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_USES= gmake
+OPT1_CFLAGS= -DTEST</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+USES+= gmake
+CFLAGS+= -DTEST
+.endif</programlisting>
+
+ <para>For any of the following dependency type:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><makevar>PKG_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>EXTRACT_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>PATCH_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>FETCH_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>BUILD_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>LIB_DEPENDS</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>RUN_DEPENDS</makevar></para>
+ </listitem>
+ </itemizedlist>
+
+ <para>If <makevar>X_ABOVEVARIABLE</makevar> is defined then
+ its value will be appended to
+ <makevar>ABOVEVARIABLE</makevar> depending on the status
+ of the option <makevar>X</makevar>, for example:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+OPT1_LIB_DEPENDS= liba.so:${PORTSDIR}/devel/a</programlisting>
+
+ <para>is equivalent to:</para>
+
+ <programlisting>OPTIONS_DEFINE= OPT1
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a
+.endif</programlisting>
+ </sect2>
</sect1>
<sect1 id="makefile-wrkdir">
More information about the svn-doc-head
mailing list