Index: head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml +++ head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml @@ -4390,6 +4390,112 @@ .endif + + <varname><replaceable>OPT</replaceable>_IMPLIES</varname> + + 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 + <varname><replaceable>OPT</replaceable>_IMPLIES</varname> + + This port has a X11 option, and a + GNOME option that needs the + X11 option to be selected to + build. + + OPTIONS_DEFINE= X11 GNOME +OPTIONS_DEFAULT= X11 + +X11_USE= xorg=xi,xextproto +GNOME_USE= gnome=gtk30 +GNOME_IMPLIES= X11 + + + + + <varname><replaceable>OPT</replaceable>_PREVENTS</varname> + and + <varname><replaceable>OPT</replaceable>_PREVENTS_MSG</varname> + + 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 + <varname><replaceable>OPT</replaceable>_PREVENTS</varname> + + This port has X509 and + SCTP options. Both options add + patches, but the patches conflict with each other, 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 + + + Dependencies