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}

Attachment: signature.asc
Description: PGP signature

Reply via email to