Jason Unovitch <[email protected]> writes: > PERL_USES= perl5 > PERL_CONFIGURE_ENABLE= perl > PERL_CONFIGURE_WITH= perl=${PERL} perl-bindings > PYTHON_USES= python:2 > PYTHON_CONFIGURE_ENABLE= python > PYTHON_CONFIGURE_WITH= python=${PYTHON_CMD} [...] > % make -VCONFIGURE_ARGS > "--enable-python --with-python= " > "--enable-perl --with-perl= --with-perl-bindings"
It appears bsd.option.mk expands _WITH and _ENABLE twice unlike _ON/_OFF:
once in .for loop and once (lazily) when CONFIGURE_ARGS is referenced.
Try using $${PERL} and $${PYTHON_CMD} or the following patch:
# XXX incomplete as there're more cases with premature expansion
Index: Mk/bsd.options.mk
===================================================================
--- Mk/bsd.options.mk (revision 401846)
+++ Mk/bsd.options.mk (working copy)
@@ -491,16 +491,8 @@ ${_u:tu}= ${${opt}_VARS:M${var}=*:C/[^=]*=//:C/^"
. endif
. endfor
. endif
-. if defined(${opt}_CONFIGURE_ENABLE)
-. for iopt in ${${opt}_CONFIGURE_ENABLE}
-CONFIGURE_ARGS+= --enable-${iopt}
-. endfor
-. endif
-. if defined(${opt}_CONFIGURE_WITH)
-. for iopt in ${${opt}_CONFIGURE_WITH}
-CONFIGURE_ARGS+= --with-${iopt}
-. endfor
-. endif
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:C/.+/--enable-&/}
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:C/.+/--with-&/}
. for configure in CONFIGURE CMAKE QMAKE
. if defined(${opt}_${configure}_ON)
${configure}_ARGS+= ${${opt}_${configure}_ON}
@@ -539,16 +531,8 @@ ${_u:tu}= ${${opt}_VARS_OFF:M${var}=*:C/[^=]*=//:
. endif
. endfor
. endif
-. if defined(${opt}_CONFIGURE_ENABLE)
-. for iopt in ${${opt}_CONFIGURE_ENABLE}
-CONFIGURE_ARGS+= --disable-${iopt:C/=.*//}
-. endfor
-. endif
-. if defined(${opt}_CONFIGURE_WITH)
-. for iopt in ${${opt}_CONFIGURE_WITH}
-CONFIGURE_ARGS+= --without-${iopt:C/=.*//}
-. endfor
-. endif
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_ENABLE:C/=.*//:C/.+/--disable-&/}
+CONFIGURE_ARGS+= ${${opt}_CONFIGURE_WITH:C/=.*//:C/.+/--without-&/}
. for configure in CONFIGURE CMAKE QMAKE
. if defined(${opt}_${configure}_OFF)
${configure}_ARGS+= ${${opt}_${configure}_OFF}
signature.asc
Description: PGP signature
