Date: Thu, 21 Jun 2012 23:02:59 +0400 From: Alexander Pronin <scher@FreeBSD.org> To: freebsd-ports@freebsd.org Cc: Marcus von Appen <mva@FreeBSD.org> Subject: [ bsd.port.mk ] improper evaluation of config-recursive target Message-ID: <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Hello porters, My name is Alexander Pronin. I am a GSOC intern. My project is = (http://wiki.freebsd.org/SummerOfCode2012/Parallelization_in_the_ports_col= lection#preview) It is assumed that if a user calls %make config-recursive then options of current port and all it's dependency ports will be = processed, but If this port(A) enables dependency port(Z) via options then = $$(${ALL-DEPENDS-LIST}) will not include this port(Z), hence options of = port(Z) will not be processed. If dependency port(B) of port(A) enables another dependency port(X) then = options of this port(X) will not be processed either. If I am correct with my assumptions, then the following patch fixes this = behaviour: --- /Users/scher/tmp/config-recursive/bsd.port.mk 2012-06-21 = 22:53:45.000000000 +0400 +++ /Users/scher/tmp/config-recursive/bsd.port.mk-fixed 2012-06-21 = 22:54:35.000000000 +0400 @@ -6110,8 +6110,8 @@ =20 .if !target(config-recursive) -config-recursive: +config-recursive: config-conditional @${ECHO_MSG} "=3D=3D=3D> Setting user-specified options for = ${PKGNAME} and dependencies"; - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} config-conditional); \ + @for dir in $$(${MAKE} all-depends-list); do \ + (cd $$dir; ${MAKE} config-recursive); \ done .endif # config-recursive --- Best regards, Alexander Pronin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?695931F1-409D-47AB-93F8-D895D3849CB7>