FreeBSD Bugzilla – Attachment 160162 Details for
Bug 191144
[patch] Mk/bsd.options.mk: Add opt_IMPLIES and opt_PREVENTS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Optimization for _IMPLIES
bsd.options.mk.20150821-1.diff (text/plain), 1.45 KB, created by
Hiroki Sato
on 2015-08-21 06:10:45 UTC
(
hide
)
Description:
Optimization for _IMPLIES
Filename:
MIME Type:
Creator:
Hiroki Sato
Created:
2015-08-21 06:10:45 UTC
Size:
1.45 KB
patch
obsolete
>Index: Mk/bsd.options.mk >=================================================================== >--- Mk/bsd.options.mk (revision 394838) >+++ Mk/bsd.options.mk (working copy) >@@ -373,11 +373,37 @@ > > ## Enable options implied by other options > # _PREVENTS is handled in bsd.port.mk:pre-check-config >-.for count in ${PORT_OPTIONS} >-. for opt in ${PORT_OPTIONS} >-PORT_OPTIONS+= ${${opt}_IMPLIES} >+## 1) Build dependency chain in A.B format: >+_DEPCHAIN= >+.for opt in ${COMPLETE_OPTIONS_LIST} >+. for o in ${${opt}_IMPLIES} >+_DEPCHAIN+= ${opt}.$o > . endfor > .endfor >+## 2) Check each dependency pair and if LHS is in PORT_OPTIONS then add RHS. >+## All of RHS of "RHS.*" (i.e. indirect dependency) are also added for >+## fast convergence. >+_PORT_OPTIONS:= ${PORT_OPTIONS} >+.for count in _0 ${COMPLETE_OPTIONS_LIST} >+### Check if all of the nested dependency are resolved already. >+. if ${count} == _0 || ${_PORT_OPTIONS} != ${PORT_OPTIONS} >+PORT_OPTIONS:= ${_PORT_OPTIONS} >+. for dc in ${_DEPCHAIN} >+. for opt in ${_PORT_OPTIONS} >+_opt=${opt} >+### Add all of direct and indirect dependency only if >+### they are not in ${PORT_OPTIONS}. >+. if !empty(_opt:M${dc:R}) >+. for d in ${dc:E} ${_DEPCHAIN:M${dc:E}.*:E} >+. if empty(_PORT_OPTIONS:M$d) >+_PORT_OPTIONS+= $d >+. endif >+. endfor >+. endif >+. endfor >+. endfor >+. endif >+.endfor > > # Finally, add options required by slave ports > PORT_OPTIONS+= ${OPTIONS_SLAVE}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 191144
:
143890
|
143927
|
147180
|
154870
|
155061
|
155062
| 160162