From owner-freebsd-ports@FreeBSD.ORG Thu Jun 21 19:03:10 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A235106566B; Thu, 21 Jun 2012 19:03:10 +0000 (UTC) (envelope-from scherfreebsd@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id E11868FC0A; Thu, 21 Jun 2012 19:03:09 +0000 (UTC) Received: by bkvi18 with SMTP id i18so1153368bkv.13 for ; Thu, 21 Jun 2012 12:03:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:content-type:subject:date:message-id:cc:to:mime-version :x-mailer; bh=6uz/vRFJbTketfCWr9YHiRgIIenAcDiuZfQ62sGPHvo=; b=wIWS4ORDK7gP4WDov8B8jbMNWbfO5zrBnGlRNign9aClKQ9//S9poVk8LZZ2jj1iGl SdZAf9ag5Zv7RortqEE+TRoeyae68jub7xZIJTP8XRNLyCse6I9XVeFOdUnr6F4hJuqB icebfImlOCZRqnGPwWtkhmdRN87MMn0ZNP1HpgvDv6VDQPlbJh3mkhBr39pCuGpJX98m wa1BAT4p6Z8T9V8JKR4alemjPvVvQhCgH55UlZRsRkuxmFrMVAzV7o1kHOqS89iXIOAj edj0UFgHXjFYY5Sc48K94zMVyA/h5kO7DxZHDVjA7G+7JXXERhoXHwL8589FGYQhWqow EgNg== Received: by 10.152.122.9 with SMTP id lo9mr13496647lab.41.1340305383307; Thu, 21 Jun 2012 12:03:03 -0700 (PDT) Received: from [192.168.0.101] ([77.66.153.242]) by mx.google.com with ESMTPS id er3sm19130714lbb.16.2012.06.21.12.03.01 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 21 Jun 2012 12:03:02 -0700 (PDT) Sender: Alexander Pronin From: Alexander Pronin Date: Thu, 21 Jun 2012 23:02:59 +0400 Message-Id: <695931F1-409D-47AB-93F8-D895D3849CB7@FreeBSD.org> To: freebsd-ports@freebsd.org Mime-Version: 1.0 (Apple Message framework v1278) X-Mailer: Apple Mail (2.1278) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Marcus von Appen Subject: [ bsd.port.mk ] improper evaluation of config-recursive target X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jun 2012 19:03:10 -0000 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