${PYTHON_CMD}/${PERL} in _CONFIGURE_WITH not working

Kubilay Kocak koobs at FreeBSD.org
Sat Nov 21 03:05:24 UTC 2015


On 20/11/2015 4:02 PM, Jan Beich wrote:
> Jason Unovitch <junovitch at FreeBSD.org> 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}
> 

Can you create an issue to fix this + MFH please?

./koobs


More information about the freebsd-ports mailing list