Index: en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
===================================================================
--- en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
+++ en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml
@@ -4390,6 +4390,112 @@
.endif
+
+ OPT_IMPLIES
+
+ Provides a way to add dependencies between
+ options.
+
+ When OPT is selected, all the
+ options listed in this variable will be selected too. Using
+ the OPT_CONFIGURE_ENABLE
+ described earlier to illustrate:
+
+ OPTIONS_DEFINE= OPT1 OPT2
+OPT1_IMPLIES= OPT2
+
+OPT1_CONFIGURE_ENABLE= opt1
+OPT2_CONFIGURE_ENABLE= opt2
+
+ Is equivalent to:
+
+ OPTIONS_DEFINE= OPT1 OPT2
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --enable-opt1
+.else
+CONFIGURE_ARGS+= --disable-opt1
+.endif
+
+.if ${PORT_OPTIONS:MOPT2} || ${PORT_OPTIONS:MOPT1}
+CONFIGURE_ARGS+= --enable-opt2
+.else
+CONFIGURE_ARGS+= --disable-opt2
+.endif
+
+
+ Simple Use of
+ OPT_IMPLIES
+
+ This port has a X11 option, and a
+ GNOME option that needs the
+ X11 option to be selected in order to
+ build.
+
+ OPTIONS_DEFINE= X11 GNOME
+OPTIONS_DEFAULT= X11
+
+X11_USE= xorg=xi,xextproto
+GNOME_USE= gnome=gtk30
+GNOME_IMPLIES= X11
+
+
+
+
+ OPT_PREVENTS
+ and
+ OPT_PREVENTS_MSG
+
+ Provides a way to add conflicts between options.
+
+ When OPT is selected, all the
+ options listed in this variable must be un-selected. If
+ OPT_PREVENTS_MSG
+ is also selected, its content will be shown, explaining why
+ they conflict. For example:
+
+ OPTIONS_DEFINE= OPT1 OPT2
+OPT1_PREVENTS= OPT2
+OPT1_PREVENTS_MSG= OPT1 and OPT2 enable conflicting options
+
+ Is roughly equivalent to:
+
+ OPTIONS_DEFINE= OPT1 OPT2
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPT2} || ${PORT_OPTIONS:MOPT1}
+BROKEN= Option OPT1 conflicts with OPT2 (select only one)
+.endif
+
+ The only difference is that the first one will write an
+ error after running make config,
+ suggesting changing the selected options.
+
+
+ Simple Use of
+ OPT_PREVENTS
+
+ This port has X509 and
+ SCTP options. Both options add
+ patches, but both patch conflicts with one another, so,
+ they cannot be selected at the same time.
+
+ OPTIONS_DEFINE= X509 SCTP
+
+SCTP_PATCHFILES= ${PORTNAME}-6.8p1-sctp-2573.patch.gz:-p1
+SCTP_CONFIGURE_WITH= sctp
+
+X509_PATCH_SITES= http://www.roumenpetrov.info/openssh/x509/:x509
+X509_PATCHFILES= ${PORTNAME}-7.0p1+x509-8.5.diff.gz:-p1:x509
+X509_PREVENTS= SCTP
+X509_PREVENTS= X509 and SCTP patches conflict with one another
+
+
+
Dependencies