head 1.6; access; symbols pkgsrc-2023Q4:1.6.0.120 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.118 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.116 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.114 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.112 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.110 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.108 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.6.0.106 pkgsrc-2022Q1-base:1.6 pkgsrc-2021Q4:1.6.0.104 pkgsrc-2021Q4-base:1.6 pkgsrc-2021Q3:1.6.0.102 pkgsrc-2021Q3-base:1.6 pkgsrc-2021Q2:1.6.0.100 pkgsrc-2021Q2-base:1.6 pkgsrc-2021Q1:1.6.0.98 pkgsrc-2021Q1-base:1.6 pkgsrc-2020Q4:1.6.0.96 pkgsrc-2020Q4-base:1.6 pkgsrc-2020Q3:1.6.0.94 pkgsrc-2020Q3-base:1.6 pkgsrc-2020Q2:1.6.0.90 pkgsrc-2020Q2-base:1.6 pkgsrc-2020Q1:1.6.0.70 pkgsrc-2020Q1-base:1.6 pkgsrc-2019Q4:1.6.0.92 pkgsrc-2019Q4-base:1.6 pkgsrc-2019Q3:1.6.0.88 pkgsrc-2019Q3-base:1.6 pkgsrc-2019Q2:1.6.0.86 pkgsrc-2019Q2-base:1.6 pkgsrc-2019Q1:1.6.0.84 pkgsrc-2019Q1-base:1.6 pkgsrc-2018Q4:1.6.0.82 pkgsrc-2018Q4-base:1.6 pkgsrc-2018Q3:1.6.0.80 pkgsrc-2018Q3-base:1.6 pkgsrc-2018Q2:1.6.0.78 pkgsrc-2018Q2-base:1.6 pkgsrc-2018Q1:1.6.0.76 pkgsrc-2018Q1-base:1.6 pkgsrc-2017Q4:1.6.0.74 pkgsrc-2017Q4-base:1.6 pkgsrc-2017Q3:1.6.0.72 pkgsrc-2017Q3-base:1.6 pkgsrc-2017Q2:1.6.0.68 pkgsrc-2017Q2-base:1.6 pkgsrc-2017Q1:1.6.0.66 pkgsrc-2017Q1-base:1.6 pkgsrc-2016Q4:1.6.0.64 pkgsrc-2016Q4-base:1.6 pkgsrc-2016Q3:1.6.0.62 pkgsrc-2016Q3-base:1.6 pkgsrc-2016Q2:1.6.0.60 pkgsrc-2016Q2-base:1.6 pkgsrc-2016Q1:1.6.0.58 pkgsrc-2016Q1-base:1.6 pkgsrc-2015Q4:1.6.0.56 pkgsrc-2015Q4-base:1.6 pkgsrc-2015Q3:1.6.0.54 pkgsrc-2015Q3-base:1.6 pkgsrc-2015Q2:1.6.0.52 pkgsrc-2015Q2-base:1.6 pkgsrc-2015Q1:1.6.0.50 pkgsrc-2015Q1-base:1.6 pkgsrc-2014Q4:1.6.0.48 pkgsrc-2014Q4-base:1.6 pkgsrc-2014Q3:1.6.0.46 pkgsrc-2014Q3-base:1.6 pkgsrc-2014Q2:1.6.0.44 pkgsrc-2014Q2-base:1.6 pkgsrc-2014Q1:1.6.0.42 pkgsrc-2014Q1-base:1.6 pkgsrc-2013Q4:1.6.0.40 pkgsrc-2013Q4-base:1.6 pkgsrc-2013Q3:1.6.0.38 pkgsrc-2013Q3-base:1.6 pkgsrc-2013Q2:1.6.0.36 pkgsrc-2013Q2-base:1.6 pkgsrc-2013Q1:1.6.0.34 pkgsrc-2013Q1-base:1.6 pkgsrc-2012Q4:1.6.0.32 pkgsrc-2012Q4-base:1.6 pkgsrc-2012Q3:1.6.0.30 pkgsrc-2012Q3-base:1.6 pkgsrc-2012Q2:1.6.0.28 pkgsrc-2012Q2-base:1.6 pkgsrc-2012Q1:1.6.0.26 pkgsrc-2012Q1-base:1.6 pkgsrc-2011Q4:1.6.0.24 pkgsrc-2011Q4-base:1.6 pkgsrc-2011Q3:1.6.0.22 pkgsrc-2011Q3-base:1.6 pkgsrc-2011Q2:1.6.0.20 pkgsrc-2011Q2-base:1.6 pkgsrc-2011Q1:1.6.0.18 pkgsrc-2011Q1-base:1.6 pkgsrc-2010Q4:1.6.0.16 pkgsrc-2010Q4-base:1.6 pkgsrc-2010Q3:1.6.0.14 pkgsrc-2010Q3-base:1.6 pkgsrc-2010Q2:1.6.0.12 pkgsrc-2010Q2-base:1.6 pkgsrc-2010Q1:1.6.0.10 pkgsrc-2010Q1-base:1.6 pkgsrc-2009Q4:1.6.0.8 pkgsrc-2009Q4-base:1.6 pkgsrc-2009Q3:1.6.0.6 pkgsrc-2009Q3-base:1.6 pkgsrc-2009Q2:1.6.0.4 pkgsrc-2009Q2-base:1.6 pkgsrc-2009Q1:1.6.0.2 pkgsrc-2009Q1-base:1.6 pkgsrc-2008Q4:1.5.0.24 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.22 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.20 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.18 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.16 pkgsrc-2008Q1:1.5.0.14 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.12 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.10 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.8 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.6 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.4 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.2 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.3.0.2 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.1.1.1.0.4 pkgsrc-2006Q1-base:1.1.1.1 pkgsrc-2005Q4:1.1.1.1.0.2 pkgsrc-2005Q4-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.6 date 2009.03.20.19.24.03; author joerg; state Exp; branches; next 1.5; 1.5 date 2006.07.08.23.10.38; author jlam; state Exp; branches; next 1.4; 1.4 date 2006.07.08.22.39.03; author jlam; state Exp; branches; next 1.3; 1.3 date 2006.04.12.10.27.03; author rillig; state Exp; branches; next 1.2; 1.2 date 2006.04.06.06.21.39; author reed; state Exp; branches; next 1.1; 1.1 date 2005.10.13.15.03.42; author wiz; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.10.13.15.03.42; author wiz; state Exp; branches; next ; desc @@ 1.6 log @Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time. @ text @# $NetBSD: buildlink3.mk,v 1.5 2006/07/08 23:10:38 jlam Exp $ BUILDLINK_TREE+= synce-librapi2 .if !defined(SYNCE_LIBRAPI2_BUILDLINK3_MK) SYNCE_LIBRAPI2_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.synce-librapi2+= synce-librapi2>=0.9.1 BUILDLINK_PKGSRCDIR.synce-librapi2?= ../../comms/synce-librapi2 .include "../../comms/synce-libsynce/buildlink3.mk" .endif # SYNCE_LIBRAPI2_BUILDLINK3_MK BUILDLINK_TREE+= -synce-librapi2 @ 1.5 log @Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.4 2006/07/08 22:39:03 jlam Exp $ d3 1 a3 2 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ SYNCE_LIBRAPI2_BUILDLINK3_MK:= ${SYNCE_LIBRAPI2_BUILDLINK3_MK}+ d5 2 a6 3 .if !empty(BUILDLINK_DEPTH:M+) BUILDLINK_DEPENDS+= synce-librapi2 .endif a7 5 BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nsynce-librapi2} BUILDLINK_PACKAGES+= synce-librapi2 BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}synce-librapi2 .if !empty(SYNCE_LIBRAPI2_BUILDLINK3_MK:M+) a9 1 .endif # SYNCE_LIBRAPI2_BUILDLINK3_MK d12 1 d14 1 a14 1 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} @ 1.4 log @Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.3 2006/04/12 10:27:03 rillig Exp $ d12 1 a12 1 BUILDLINK_ORDER+= synce-librapi2 @ 1.3 log @Aligned the last line of the buildlink3.mk files with the first line, so that they look nicer. @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.2 2006/04/06 06:21:39 reed Exp $ d12 1 @ 1.2 log @Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day). @ text @d1 1 a1 1 # $NetBSD: buildlink3.mk,v 1.1.1.1 2005/10/13 15:03:42 wiz Exp $ d20 1 a20 1 BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//} @ 1.1 log @Initial revision @ text @d1 1 a1 1 # $NetBSD$ d14 1 a14 1 BUILDLINK_DEPENDS.synce-librapi2+= synce-librapi2>=0.9.1 @ 1.1.1.1 log @Initial import of synce-librapi2-0.9.1: Librapi is part of the SynCE project. The RAPI library is an open source implementation that works like RAPI.DLL, available on Microsoft operating systems. The library makes it possible to make remote calls to a computer running Pocket PC. In order to use librapi, a daemon that the Pocket PC client connects to must be running on the computer using librapi. @ text @@