head 1.34; access; symbols pkgsrc-2023Q4:1.34.0.4 pkgsrc-2023Q4-base:1.34 pkgsrc-2023Q3:1.34.0.2 pkgsrc-2023Q3-base:1.34 pkgsrc-2023Q2:1.33.0.4 pkgsrc-2023Q2-base:1.33 pkgsrc-2023Q1:1.33.0.2 pkgsrc-2023Q1-base:1.33 pkgsrc-2022Q4:1.32.0.2 pkgsrc-2022Q4-base:1.32 pkgsrc-2022Q3:1.31.0.28 pkgsrc-2022Q3-base:1.31 pkgsrc-2022Q2:1.31.0.26 pkgsrc-2022Q2-base:1.31 pkgsrc-2022Q1:1.31.0.24 pkgsrc-2022Q1-base:1.31 pkgsrc-2021Q4:1.31.0.22 pkgsrc-2021Q4-base:1.31 pkgsrc-2021Q3:1.31.0.20 pkgsrc-2021Q3-base:1.31 pkgsrc-2021Q2:1.31.0.18 pkgsrc-2021Q2-base:1.31 pkgsrc-2021Q1:1.31.0.16 pkgsrc-2021Q1-base:1.31 pkgsrc-2020Q4:1.31.0.14 pkgsrc-2020Q4-base:1.31 pkgsrc-2020Q3:1.31.0.12 pkgsrc-2020Q3-base:1.31 pkgsrc-2020Q2:1.31.0.10 pkgsrc-2020Q2-base:1.31 pkgsrc-2020Q1:1.31.0.6 pkgsrc-2020Q1-base:1.31 pkgsrc-2019Q4:1.31.0.8 pkgsrc-2019Q4-base:1.31 pkgsrc-2019Q3:1.31.0.4 pkgsrc-2019Q3-base:1.31 pkgsrc-2019Q2:1.31.0.2 pkgsrc-2019Q2-base:1.31 pkgsrc-2019Q1:1.30.0.4 pkgsrc-2019Q1-base:1.30 pkgsrc-2018Q4:1.30.0.2 pkgsrc-2018Q4-base:1.30 pkgsrc-2018Q3:1.29.0.2 pkgsrc-2018Q3-base:1.29 pkgsrc-2018Q2:1.28.0.24 pkgsrc-2018Q2-base:1.28 pkgsrc-2018Q1:1.28.0.22 pkgsrc-2018Q1-base:1.28 pkgsrc-2017Q4:1.28.0.20 pkgsrc-2017Q4-base:1.28 pkgsrc-2017Q3:1.28.0.18 pkgsrc-2017Q3-base:1.28 pkgsrc-2017Q2:1.28.0.14 pkgsrc-2017Q2-base:1.28 pkgsrc-2017Q1:1.28.0.12 pkgsrc-2017Q1-base:1.28 pkgsrc-2016Q4:1.28.0.10 pkgsrc-2016Q4-base:1.28 pkgsrc-2016Q3:1.28.0.8 pkgsrc-2016Q3-base:1.28 pkgsrc-2016Q2:1.28.0.6 pkgsrc-2016Q2-base:1.28 pkgsrc-2016Q1:1.28.0.4 pkgsrc-2016Q1-base:1.28 pkgsrc-2015Q4:1.28.0.2 pkgsrc-2015Q4-base:1.28 pkgsrc-2015Q3:1.27.0.6 pkgsrc-2015Q3-base:1.27 pkgsrc-2015Q2:1.27.0.4 pkgsrc-2015Q2-base:1.27 pkgsrc-2015Q1:1.27.0.2 pkgsrc-2015Q1-base:1.27 pkgsrc-2014Q4:1.22.0.4 pkgsrc-2014Q4-base:1.22 pkgsrc-2014Q3:1.22.0.2 pkgsrc-2014Q3-base:1.22 pkgsrc-2014Q2:1.21.0.6 pkgsrc-2014Q2-base:1.21 pkgsrc-2014Q1:1.21.0.4 pkgsrc-2014Q1-base:1.21 pkgsrc-2013Q4:1.21.0.2 pkgsrc-2013Q4-base:1.21 pkgsrc-2013Q3:1.20.0.4 pkgsrc-2013Q3-base:1.20 pkgsrc-2013Q2:1.20.0.2 pkgsrc-2013Q2-base:1.20 pkgsrc-2013Q1:1.19.0.32 pkgsrc-2013Q1-base:1.19 pkgsrc-2012Q4:1.19.0.30 pkgsrc-2012Q4-base:1.19 pkgsrc-2012Q3:1.19.0.28 pkgsrc-2012Q3-base:1.19 pkgsrc-2012Q2:1.19.0.26 pkgsrc-2012Q2-base:1.19 pkgsrc-2012Q1:1.19.0.24 pkgsrc-2012Q1-base:1.19 pkgsrc-2011Q4:1.19.0.22 pkgsrc-2011Q4-base:1.19 pkgsrc-2011Q3:1.19.0.20 pkgsrc-2011Q3-base:1.19 pkgsrc-2011Q2:1.19.0.18 pkgsrc-2011Q2-base:1.19 pkgsrc-2011Q1:1.19.0.16 pkgsrc-2011Q1-base:1.19 pkgsrc-2010Q4:1.19.0.14 pkgsrc-2010Q4-base:1.19 pkgsrc-2010Q3:1.19.0.12 pkgsrc-2010Q3-base:1.19 pkgsrc-2010Q2:1.19.0.10 pkgsrc-2010Q2-base:1.19 pkgsrc-2010Q1:1.19.0.8 pkgsrc-2010Q1-base:1.19 pkgsrc-2009Q4:1.19.0.6 pkgsrc-2009Q4-base:1.19 pkgsrc-2009Q3:1.19.0.4 pkgsrc-2009Q3-base:1.19 pkgsrc-2009Q2:1.19.0.2 pkgsrc-2009Q2-base:1.19 pkgsrc-2009Q1:1.18.0.24 pkgsrc-2009Q1-base:1.18 pkgsrc-2008Q4:1.18.0.22 pkgsrc-2008Q4-base:1.18 pkgsrc-2008Q3:1.18.0.20 pkgsrc-2008Q3-base:1.18 cube-native-xorg:1.18.0.18 cube-native-xorg-base:1.18 pkgsrc-2008Q2:1.18.0.16 pkgsrc-2008Q2-base:1.18 cwrapper:1.18.0.14 pkgsrc-2008Q1:1.18.0.12 pkgsrc-2008Q1-base:1.18 pkgsrc-2007Q4:1.18.0.10 pkgsrc-2007Q4-base:1.18 pkgsrc-2007Q3:1.18.0.8 pkgsrc-2007Q3-base:1.18 pkgsrc-2007Q2:1.18.0.6 pkgsrc-2007Q2-base:1.18 pkgsrc-2007Q1:1.18.0.4 pkgsrc-2007Q1-base:1.18 jlam-pkgviews:1.18.0.2 jlam-pkgviews-base:1.18 pkgsrc-2006Q4:1.17.0.2 pkgsrc-2006Q4-base:1.17 pkgsrc-2006Q3:1.16.0.10 pkgsrc-2006Q3-base:1.16 pkgsrc-2006Q2:1.16.0.8 pkgsrc-2006Q2-base:1.16 tv-derecurse-eol:1.7.2.2 pkgsrc-2006Q1:1.16.0.6 pkgsrc-2006Q1-base:1.16 pkgsrc-2005Q4:1.16.0.4 pkgsrc-2005Q4-base:1.16 pkgsrc-2005Q3:1.16.0.2 pkgsrc-2005Q3-base:1.16 pkgsrc-2005Q2:1.14.0.2 pkgsrc-2005Q2-base:1.14 tv-derecurse:1.7.0.2 tv-derecurse-merge:1.7; locks; strict; comment @# @; 1.34 date 2023.06.27.10.27.21; author riastradh; state Exp; branches; next 1.33; commitid YYdDXuq2VpGTxzuE; 1.33 date 2023.03.04.23.29.24; author rillig; state Exp; branches; next 1.32; commitid znBcw0HBPkhHxRfE; 1.32 date 2022.11.23.13.06.33; author jperkin; state Exp; branches; next 1.31; commitid 36Tes9Q8GbYJlP2E; 1.31 date 2019.05.15.10.49.28; author leot; state Exp; branches; next 1.30; commitid wf8oQlpl9Cgq0inB; 1.30 date 2018.12.01.04.58.55; author wiz; state Exp; branches; next 1.29; commitid X5Z50QPB36omn32B; 1.29 date 2018.08.22.20.48.37; author maya; state Exp; branches; next 1.28; commitid FMEpDDTKwDQBR9PA; 1.28 date 2015.11.25.13.05.47; author jperkin; state Exp; branches; next 1.27; commitid B0qnPpooY6FuutKy; 1.27 date 2015.03.11.19.24.44; author rillig; state Exp; branches; next 1.26; commitid mQFuq02himJBUddy; 1.26 date 2015.02.16.10.59.39; author jperkin; state Exp; branches; next 1.25; commitid kiyN395nDE9gRday; 1.25 date 2015.02.01.09.18.59; author obache; state Exp; branches; next 1.24; commitid NyNYnzg8MpiqMh8y; 1.24 date 2015.01.08.16.41.44; author wiz; state Exp; branches; next 1.23; commitid dKy2IAZFsVTo0f5y; 1.23 date 2015.01.06.09.26.55; author obache; state Exp; branches; next 1.22; commitid iLIBm7inGbU7FW4y; 1.22 date 2014.08.02.04.27.51; author obache; state Exp; branches; next 1.21; commitid K4V7ozb4YlUg1KKx; 1.21 date 2013.11.30.06.24.38; author richard; state Exp; branches; next 1.20; commitid WWgJcAXQKZnPzgfx; 1.20 date 2013.05.09.23.37.27; author riastradh; state Exp; branches; next 1.19; 1.19 date 2009.06.10.15.31.45; author wiz; state Exp; branches; next 1.18; 1.18 date 2007.03.01.22.29.15; author wiz; state Exp; branches; next 1.17; 1.17 date 2006.12.05.22.48.31; author wiz; state Exp; branches; next 1.16; 1.16 date 2005.07.17.21.36.24; author jlam; state Exp; branches; next 1.15; 1.15 date 2005.07.15.20.14.04; author jlam; state Exp; branches; next 1.14; 1.14 date 2005.06.11.05.22.03; author jlam; state Exp; branches; next 1.13; 1.13 date 2005.06.01.20.08.01; author jlam; state Exp; branches; next 1.12; 1.12 date 2005.05.21.04.53.17; author jlam; state Exp; branches; next 1.11; 1.11 date 2005.05.21.04.46.52; author jlam; state Exp; branches; next 1.10; 1.10 date 2005.05.20.03.08.45; author jlam; state Exp; branches; next 1.9; 1.9 date 2005.05.20.02.57.23; author jlam; state Exp; branches; next 1.8; 1.8 date 2005.05.20.02.40.23; author jlam; state Exp; branches; next 1.7; 1.7 date 2005.05.11.20.21.32; author jlam; state Exp; branches 1.7.2.1; next 1.6; 1.6 date 2005.05.11.20.09.44; author jlam; state Exp; branches; next 1.5; 1.5 date 2005.05.10.19.34.02; author jlam; state Exp; branches; next 1.4; 1.4 date 2005.04.28.03.01.11; author jlam; state Exp; branches; next 1.3; 1.3 date 2005.04.26.15.32.05; author jlam; state Exp; branches; next 1.2; 1.2 date 2005.04.15.05.30.48; author jlam; state Exp; branches; next 1.1; 1.1 date 2005.04.15.00.00.21; author jlam; state Exp; branches; next ; 1.7.2.1 date 2005.05.11.20.21.32; author tv; state dead; branches; next 1.7.2.2; 1.7.2.2 date 2005.05.17.18.29.46; author tv; state Exp; branches; next 1.7.2.3; 1.7.2.3 date 2006.06.07.15.25.40; author tv; state dead; branches; next ; desc @@ 1.34 log @Split native and cross LOCALBASE for cross-compilation. This way, you can use an unprivileged prefix of ~/cross/pkg to cross-compile packages that, when installed, will go in /usr/pkg. In mk.conf: - Set CROSS_LOCALBASE to determine the installation prefix of packages that you cross-compile. - Set LOCALBASE to determine the installation prefix of native packages needed for cross compilation. Both default to /usr/pkg. Note: CROSS_LOCALBASE defaults to /usr/pkg even if you set LOCALBASE. Of course, if you're not cross-compiling, this has no effect. When cross-compiling a package: - LOCALBASE is where cross-compiled packages will be installed. (`make install' will put it in ${CROSS_DESTDIR}${LOCALBASE}, of course, but when you later use pkg_add to install the binary package on the system you're compiling it for, it will go in ${LOCALBASE}. And you can still set PREFIX for an individual package, but LOCALBASE refers to where cross-compiled packages are generally installed, other than the specific ones that override PREFIX.) - TOOLBASE is where tool dependencies are installed and available to be executed at build-time. For example, if you have TOOL_DEPENDS on a program that is installed in (say) foo/bin/xyz which is not in PATH so you have to refer ot its full pathname, you can execute ${TOOLBASE}/foo/bin/xyz instead of ${LOCALBASE}/foo/bin/xyz. I chose this split, rather than the other way around, because I expect that references that are baked into installed packages to be more common than references that are executed at build-time, but I didn't do an extensive study of the matter. I chose the name TOOLBASE because it's where TOOL_DEPENDS go. @ text @# $NetBSD: automake.mk,v 1.33 2023/03/04 23:29:24 rillig Exp $ # # Copyright (c) 2005 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Johnny C. Lam. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # # This Makefile fragment handles packages that use GNU automake. # # By default, all of the automake-related scripts are marked as # "missing" by running the GNU missing script in place of the utility. # This hides the automake-related scripts from makefiles that aggressively # call them when some of the inputs are modified in ways the makefiles # don't expect. # # If a package needs to use GNU automake, then the package Makefile # should contain one of the following lines: # # USE_TOOLS+= automake # use recent GNU automake (>=1.9) # USE_TOOLS+= automake14 # use GNU automake ~1.4 # # This will allow the package to invoke "aclocal" and "automake" by # their usual, bare names. # # If a particular minimum version of automake is required, then the # package Makefile can additionally set AUTOMAKE_REQD to the desired # version, e.g.: # # AUTOMAKE_REQD= 1.8 # use at least automake>=1.8 # # If a package additionally needs to regenerate configure scripts and # Makefiles that use gettext, then the package Makefile should contain # the following line: # # USE_TOOLS+= gettext-m4 # need gettext.m4 to re-gen files # # To globally prevent any GNU automake handling, set the following # in the package Makefile: # # AUTOMAKE_OVERRIDE= no # # Keywords: automake # # Only allow one of "automake" and "automake14" in USE_TOOLS. .if !empty(USE_TOOLS:C/:.*//:Mautomake) && \ !empty(USE_TOOLS:C/:.*//:Mautomake14) PKG_FAIL_REASON+= "\`\`automake'' and \`\`automake14'' conflict in USE_TOOLS." .endif # This is an exhaustive list of all of the scripts supplied by GNU # automake. # _TOOLS_AM_NAMES= aclocal aclocal-1.4 \ aclocal-1.5 \ aclocal-1.6 \ aclocal-1.7 \ aclocal-1.8 \ aclocal-1.9 \ aclocal-1.10 \ aclocal-1.11 \ aclocal-1.12 \ aclocal-1.13 \ aclocal-1.14 \ aclocal-1.15 \ aclocal-1.16 _TOOLS_AM_NAMES+= automake automake-1.4 \ automake-1.5 \ automake-1.6 \ automake-1.7 \ automake-1.8 \ automake-1.9 \ automake-1.10 \ automake-1.11 \ automake-1.12 \ automake-1.13 \ automake-1.14 \ automake-1.15 \ automake-1.16 .if defined(GNU_CONFIGURE) . for _t_ in ${_TOOLS_AM_NAMES} _TOOLS_AM_TYPE.${_t_}?= TOOLS_GNU_MISSING . endfor .endif .if !defined(TOOLS_IGNORE.automake) && !empty(USE_TOOLS:C/:.*//:Mautomake) . if ${PKGPATH} == devel/automake MAKEFLAGS+= TOOLS_IGNORE.automake= . else AUTOMAKE_REQD?= 1.9 AUTOCONF_REQD?= 2.58 . if !empty(USE_TOOLS:Mautomake\:run) _TOOLS_DEPMETHOD.automake= DEPENDS . elif !empty(USE_TOOLS:Mautomake\:test) _TOOLS_DEPMETHOD.automake= TEST_DEPENDS . else _TOOLS_DEPMETHOD.automake= TOOL_DEPENDS . endif TOOLS_DEPENDS.automake?= automake>=${AUTOMAKE_REQD}:../../devel/automake . if empty(${_TOOLS_DEPMETHOD.automake}:M${TOOLS_DEPENDS.automake}) ${_TOOLS_DEPMETHOD.automake}+= ${TOOLS_DEPENDS.automake} . endif _TOOLS_AM_TYPE.aclocal= TOOLS_CREATE TOOLS_PATH.aclocal= ${TOOLBASE}/bin/aclocal _TOOLS_AM_TYPE.automake= TOOLS_CREATE TOOLS_PATH.automake= ${TOOLBASE}/bin/automake . endif .endif .if !defined(TOOLS_IGNORE.automake14) && !empty(USE_TOOLS:C/:.*//:Mautomake14) . if ${PKGPATH} == devel/automake14 MAKEFLAGS+= TOOLS_IGNORE.automake14= . else AUTOMAKE_REQD?= 1.4 AUTOCONF_REQD?= 2.13 . if !empty(USE_TOOLS:Mautomake14\:run) _TOOLS_DEPMETHOD.automake14= DEPENDS . elif !empty(USE_TOOLS:Mautomake14\:test) _TOOLS_DEPMETHOD.automake= TEST_DEPENDS . else _TOOLS_DEPMETHOD.automake14= TOOL_DEPENDS . endif TOOLS_DEPENDS.automake14?= automake14>=${AUTOMAKE_REQD}:../../devel/automake14 . if empty(${_TOOLS_DEPMETHOD.automake14}:M${TOOLS_DEPENDS.automake14}) ${_TOOLS_DEPMETHOD.automake14}+= ${TOOLS_DEPENDS.automake14} . endif _TOOLS_AM_TYPE.aclocal-1.4= TOOLS_CREATE _TOOLS_AM_TYPE.aclocal= # empty TOOLS_PATH.aclocal-1.4= ${TOOLBASE}/bin/aclocal-1.4 TOOLS_ALIASES.aclocal-1.4= aclocal _TOOLS_AM_TYPE.automake-1.4= TOOLS_CREATE _TOOLS_AM_TYPE.automake= # empty TOOLS_PATH.automake-1.4= ${TOOLBASE}/bin/automake-1.4 TOOLS_ALIASES.automake-1.4= automake . endif .endif # Discover which version of autoconf should be used with automake. .if !empty(USE_TOOLS:Mautomake) || !empty(USE_TOOLS:Mautomake14) . if !defined(_TOOLS_AM_AUTOCONF) _TOOLS_AM_AUTOCONF!= \ dep="autoconf>="${AUTOCONF_REQD:Q}; \ if ${PKG_ADMIN} pmatch "$$dep" autoconf-2.13; then \ ${ECHO} "autoconf213"; \ else \ ${ECHO} "autoconf"; \ fi . endif MAKEVARS+= _TOOLS_AM_AUTOCONF USE_TOOLS+= ${_TOOLS_AM_AUTOCONF} .endif # If the package wants to override the GNU auto* tools, then do it. AUTOMAKE_OVERRIDE?= yes .if ${AUTOMAKE_OVERRIDE:M[yY][eE][sS]} . for _t_ in ${_TOOLS_AM_NAMES} . if !empty(_TOOLS_AM_TYPE.${_t_}) ${_TOOLS_AM_TYPE.${_t_}}+= ${_t_} . endif . endfor .endif .if !empty(USE_TOOLS:Mgettext-m4) TOOL_DEPENDS+= {gettext-m4-[0-9]*,gettext-0.10.35nb1}:../../devel/gettext-m4 .endif @ 1.33 log @mk/tools: replace '!empty' conditions with '==' or '!=' Main work done by running 'pkglint -F --only "simpler" --only "simplified" *.mk', with manual improvements afterwards: * Removed several redundant ':U' modifiers, as pkglint doesn't know the exact order in which the infrastructure files include each other. * Removed redundant 'defined(X11_TYPE)' and the corresponding comment. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.32 2022/11/23 13:06:33 jperkin Exp $ d131 1 a131 1 TOOLS_PATH.aclocal= ${LOCALBASE}/bin/aclocal d134 1 a134 1 TOOLS_PATH.automake= ${LOCALBASE}/bin/automake d159 1 a159 1 TOOLS_PATH.aclocal-1.4= ${LOCALBASE}/bin/aclocal-1.4 d164 1 a164 1 TOOLS_PATH.automake-1.4= ${LOCALBASE}/bin/automake-1.4 @ 1.32 log @mk: Only create GNU missing wrappers when needed. There is no point creating wrappers that warn about missing particular autoconf, automake, and intltool commands if we aren't using GNU configure at all. Saves around 140 execs for every package without GNU_CONFIGURE=yes. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.31 2019/05/15 10:49:28 leot Exp $ d112 1 a112 1 . if !empty(PKGPATH:Mdevel/automake) d139 1 a139 1 . if !empty(PKGPATH:Mdevel/automake14) d186 1 a186 1 .if !empty(AUTOMAKE_OVERRIDE:M[yY][eE][sS]) @ 1.31 log @mk/tools: Add support for autoconf*:test and automake*:test Thanks to for catching the unintended autoconf tool dependency! @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.30 2018/12/01 04:58:55 wiz Exp $ d105 2 a106 1 .for _t_ in ${_TOOLS_AM_NAMES} d108 2 a109 1 .endfor @ 1.30 log @mk/tools/automake.mk: support automake-1.16 @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.29 2018/08/22 20:48:37 maya Exp $ d118 2 d145 2 @ 1.29 log @Remove clauses 3,4 from TNF-only copyright blocks. This is based on the decision The NetBSD Foundation made in 2008 to do so, which was already applied to src. This change has been applied to code which is likely not in other repositories. ok board@@, reviewed by riastradh@@ @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.28 2015/11/25 13:05:47 jperkin Exp $ d89 2 a90 1 aclocal-1.15 d102 2 a103 1 automake-1.15 @ 1.28 log @Remove mk/find-prefix.mk and its usage from the mk infrastructure. The find-prefix infrastructure was required in a pkgviews world where packages installed from pkgsrc could have different installation prefixes, and this was a way for a dependency prefix to be determined. Now that pkgviews has been removed there is no longer any need for the overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the dependency is coming from pkgsrc. Provides a reasonable performance win due to the reduction of `pkg_info -qp` calls, some of which were redundant anyway as they were duplicating the same information provided by BUILDLINK_PREFIX.pkg. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.27 2015/03/11 19:24:44 rillig Exp $ a16 7 # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the NetBSD # Foundation, Inc. and its contributors. # 4. Neither the name of The NetBSD Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. @ 1.27 log @Added "bmake help" documentation for using libtool and pkg-config. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.26 2015/02/16 10:59:39 jperkin Exp $ a129 1 EVAL_PREFIX+= _TOOLS_AM_PREFIX=automake d132 1 a132 1 TOOLS_PATH.aclocal= ${_TOOLS_AM_PREFIX}/bin/aclocal d135 1 a135 1 TOOLS_PATH.automake= ${_TOOLS_AM_PREFIX}/bin/automake a154 1 EVAL_PREFIX+= _TOOLS_AM_PREFIX=automake14 d158 1 a158 1 TOOLS_PATH.aclocal-1.4= ${_TOOLS_AM_PREFIX}/bin/aclocal-1.4 d163 1 a163 1 TOOLS_PATH.automake-1.4= ${_TOOLS_AM_PREFIX}/bin/automake-1.4 @ 1.26 log @Put back preference towards the gettext-m4 package when resolving dependency. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.24 2015/01/08 16:41:44 wiz Exp $ d73 2 @ 1.25 log @Revert "pick up gettext-m4 package first.", proposed/discussed is required for such changes. @ text @d194 1 a194 1 TOOL_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4 @ 1.24 log @Add links for automake-1.15. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.23 2015/01/06 09:26:55 obache Exp $ d194 1 a194 1 TOOL_DEPENDS+= {gettext-m4-[0-9]*,gettext-0.10.35nb1}:../../devel/gettext-m4 @ 1.23 log @pick up gettext-m4 package first. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.22 2014/08/02 04:27:51 obache Exp $ d93 2 a94 1 aclocal-1.14 d105 2 a106 1 automake-1.14 @ 1.22 log @Latest version should be also marked `missing'. Fixes unwanted execution of {aclocal,automake}-${latest_version} for the case configure.ac (or something) is patched, but configure is also alredy regenerated and aclocal and automake are not required (not in USE_TOOLS). XXX: if {aclocal,automake}-${latest_version} is really required by somewhere, XXX: it should be created below, same as plain aclocal and automake. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.21 2013/11/30 06:24:38 richard Exp $ d192 1 a192 1 TOOL_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4 @ 1.21 log @include versions 1.12&1.13 to aclocal/automake @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.20 2013/05/09 23:37:27 riastradh Exp $ d81 1 a81 2 # automake, up to but not including the current version as supplied # by the automake package itself. d92 2 a93 1 aclocal-1.13 d103 2 a104 1 automake-1.13 @ 1.20 log @Split BUILD_DEPENDS into TOOL_DEPENDS and BUILD_DEPENDS in mk/. Build depends are target packages that are needed at build-time for, e.g., static libraries to link against, header files to include, &c. Tool depends are native packages that are needed at build-time for, e.g., compilers/linkers/&c. to run. ok agc @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.19 2009/06/10 15:31:45 wiz Exp $ d81 2 a82 1 # automake. d91 3 a93 1 aclocal-1.11 d101 3 a103 1 automake-1.11 @ 1.19 log @Hide automake-1.11 by default as well. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.18 2007/03/01 22:29:15 wiz Exp $ d114 1 a114 1 _TOOLS_DEPMETHOD.automake= BUILD_DEPENDS d140 1 a140 1 _TOOLS_DEPMETHOD.automake14= BUILD_DEPENDS d186 1 a186 1 BUILD_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4 @ 1.18 log @Deprecate unused BUILD_USES_GETTEXT_M4 variable. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.17 2006/12/05 22:48:31 wiz Exp $ d89 2 a90 1 aclocal-1.10 d97 2 a98 1 automake-1.10 @ 1.17 log @Recognize aclocal-1.10 and automake-1.10. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.16 2005/07/17 21:36:24 jlam Exp $ a73 7 # This variable is obsoleted, but continue to allow it until packages # have been taught to use the new syntax. # .if defined(BUILD_USES_GETTEXT_M4) USE_TOOLS+= gettext-m4 .endif @ 1.16 log @Rename the following variables for brevity: TOOLS_REAL_CMD. => TOOLS_PATH. TOOLS_REAL_ARGS. => TOOLS_ARGS. TOOLS_REAL_CMDLINE. => TOOLS_CMDLINE. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.15 2005/07/15 20:14:04 jlam Exp $ d95 2 a96 1 aclocal-1.9 d102 2 a103 1 automake-1.9 @ 1.15 log @Drop support for TOOLS_DEPMETHOD.. The new way to specify a run-time dependency (DEPENDS) on a tool is to append a ":run" modifier to the tool name, e.g., USE_TOOLS+= perl:run Tools without modifiers or with an explicit ":build" modifier will cause build dependencies (BUILD_DEPENDS) on those tools to be added. This makes the notation a bit more compact. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.14 2005/06/11 05:22:03 jlam Exp $ d126 1 a126 1 TOOLS_REAL_CMD.aclocal= ${_TOOLS_AM_PREFIX}/bin/aclocal d129 1 a129 1 TOOLS_REAL_CMD.automake= ${_TOOLS_AM_PREFIX}/bin/automake d153 1 a153 1 TOOLS_REAL_CMD.aclocal-1.4= ${_TOOLS_AM_PREFIX}/bin/aclocal-1.4 d158 1 a158 1 TOOLS_REAL_CMD.automake-1.4= ${_TOOLS_AM_PREFIX}/bin/automake-1.4 @ 1.14 log @Remove unnecessary .undef lines after .for loops as the loop variables are automatically undefined after the loop exits. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.13 2005/06/01 20:08:01 jlam Exp $ d82 2 a83 1 .if !empty(USE_TOOLS:Mautomake) && !empty(USE_TOOLS:Mautomake14) d107 1 a107 1 .if !defined(TOOLS_IGNORE.automake) && !empty(USE_TOOLS:Mautomake) d114 5 a118 1 TOOLS_DEPMETHOD.automake?= BUILD_DEPENDS d120 2 a121 2 . if empty(${TOOLS_DEPMETHOD.automake}:M${TOOLS_DEPENDS.automake}) ${TOOLS_DEPMETHOD.automake}+= ${TOOLS_DEPENDS.automake} d133 1 a133 1 .if !defined(TOOLS_IGNORE.automake14) && !empty(USE_TOOLS:Mautomake14) d140 5 a144 1 TOOLS_DEPMETHOD.automake14?= BUILD_DEPENDS d146 2 a147 2 . if empty(${TOOLS_DEPMETHOD.automake14}:M${TOOLS_DEPENDS.automake14}) ${TOOLS_DEPMETHOD.automake14}+= ${TOOLS_DEPENDS.automake14} @ 1.13 log @Remove mk/autoconf.mk and mk/automake.mk and replace their usage with USE_TOOLS and any of "autoconf", "autoconf213", "automake" or "automake14". Also, we don't need to call the auto* tools via ${ACLOCAL}, ${AUTOCONF}, etc., since the tools framework takes care to symlink the correct tool to the correct name, so we can just use aclocal, autoconf, etc. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.12 2005/05/21 04:53:17 jlam Exp $ a104 1 .undef _t_ a176 1 . undef _t_ @ 1.12 log @Grammar 101 -- sentences should end in a period. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.11 2005/05/21 04:46:52 jlam Exp $ a125 6 # Continue to define the following variables until packages have been # taught to just use "aclocal" and "automake" instead. # ACLOCAL= ${TOOLS_CMD.aclocal} AUTOMAKE= ${TOOLS_CMD.automake} a151 6 # Continue to define the following variables until packages have been # taught to just use "aclocal" and "automake" instead. # ACLOCAL= ${TOOLS_CMD.aclocal-1.4} AUTOMAKE= ${TOOLS_CMD.automake-1.4} @ 1.11 log @Add TNF copyright to the new tools framework makefiles. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.10 2005/05/20 03:08:45 jlam Exp $ d7 1 a7 1 # by Johnny C. Lam @ 1.10 log @Only add the autoconf tool if the user also requested automake. This avoids making autoconf required by every package in pkgsrc. @ text @d1 37 a37 1 # $NetBSD: automake.mk,v 1.9 2005/05/20 02:57:23 jlam Exp $ @ 1.9 log @Properly quote dependency to avoid creating garbage files in the pkgsrc tree. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.8 2005/05/20 02:40:23 jlam Exp $ d132 2 a133 1 .if !defined(_TOOLS_AM_AUTOCONF) d141 1 a141 1 .endif d144 1 @ 1.8 log @Based on the value of ${AUTOCONF_REQD}, choose the right autoconf tool to use. This fixes packages that want automake-1.4, but autoconf-2.50. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.7 2005/05/11 20:21:32 jlam Exp $ d134 2 a135 1 if ${PKG_ADMIN} pmatch autoconf>=${AUTOCONF_REQD} autoconf-2.13; then \ @ 1.7 log @Needing automake implies needing autoconf. Match the version requirements outlined in mk/automake.mk. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.6 2005/05/11 20:09:44 jlam Exp $ a76 1 USE_TOOLS+= autoconf a104 1 USE_TOOLS+= autoconf213 d131 12 @ 1.7.2.1 log @file automake.mk was added on branch tv-derecurse on 2005-05-17 18:29:46 +0000 @ text @d1 146 @ 1.7.2.2 log @sync [all but bsd.pkg.mk] with HEAD @ text @a0 146 # $NetBSD: automake.mk,v 1.7.2.1 2005/05/17 18:29:46 tv Exp $ # # This Makefile fragment handles packages that use GNU automake. # # By default, all of the automake-related scripts are marked as # "missing" by running the GNU missing script in place of the utility. # This hides the automake-related scripts from makefiles that aggressively # call them when some of the inputs are modified in ways the makefiles # don't expect. # # If a package needs to use GNU automake, then the package Makefile # should contain one of the following lines: # # USE_TOOLS+= automake # use recent GNU automake (>=1.9) # USE_TOOLS+= automake14 # use GNU automake ~1.4 # # This will allow the package to invoke "aclocal" and "automake" by # their usual, bare names. # # If a particular minimum version of automake is required, then the # package Makefile can additionally set AUTOMAKE_REQD to the desired # version, e.g.: # # AUTOMAKE_REQD= 1.8 # use at least automake>=1.8 # # If a package additionally needs to regenerate configure scripts and # Makefiles that use gettext, then the package Makefile should contain # the following line: # # USE_TOOLS+= gettext-m4 # need gettext.m4 to re-gen files # # To globally prevent any GNU automake handling, set the following # in the package Makefile: # # AUTOMAKE_OVERRIDE= no # # This variable is obsoleted, but continue to allow it until packages # have been taught to use the new syntax. # .if defined(BUILD_USES_GETTEXT_M4) USE_TOOLS+= gettext-m4 .endif # Only allow one of "automake" and "automake14" in USE_TOOLS. .if !empty(USE_TOOLS:Mautomake) && !empty(USE_TOOLS:Mautomake14) PKG_FAIL_REASON+= "\`\`automake'' and \`\`automake14'' conflict in USE_TOOLS." .endif # This is an exhaustive list of all of the scripts supplied by GNU # automake. # _TOOLS_AM_NAMES= aclocal aclocal-1.4 \ aclocal-1.5 \ aclocal-1.6 \ aclocal-1.7 \ aclocal-1.8 \ aclocal-1.9 _TOOLS_AM_NAMES+= automake automake-1.4 \ automake-1.5 \ automake-1.6 \ automake-1.7 \ automake-1.8 \ automake-1.9 .for _t_ in ${_TOOLS_AM_NAMES} _TOOLS_AM_TYPE.${_t_}?= TOOLS_GNU_MISSING .endfor .undef _t_ .if !defined(TOOLS_IGNORE.automake) && !empty(USE_TOOLS:Mautomake) . if !empty(PKGPATH:Mdevel/automake) MAKEFLAGS+= TOOLS_IGNORE.automake= . else AUTOMAKE_REQD?= 1.9 AUTOCONF_REQD?= 2.58 USE_TOOLS+= autoconf TOOLS_DEPMETHOD.automake?= BUILD_DEPENDS TOOLS_DEPENDS.automake?= automake>=${AUTOMAKE_REQD}:../../devel/automake . if empty(${TOOLS_DEPMETHOD.automake}:M${TOOLS_DEPENDS.automake}) ${TOOLS_DEPMETHOD.automake}+= ${TOOLS_DEPENDS.automake} . endif EVAL_PREFIX+= _TOOLS_AM_PREFIX=automake _TOOLS_AM_TYPE.aclocal= TOOLS_CREATE TOOLS_REAL_CMD.aclocal= ${_TOOLS_AM_PREFIX}/bin/aclocal _TOOLS_AM_TYPE.automake= TOOLS_CREATE TOOLS_REAL_CMD.automake= ${_TOOLS_AM_PREFIX}/bin/automake # Continue to define the following variables until packages have been # taught to just use "aclocal" and "automake" instead. # ACLOCAL= ${TOOLS_CMD.aclocal} AUTOMAKE= ${TOOLS_CMD.automake} . endif .endif .if !defined(TOOLS_IGNORE.automake14) && !empty(USE_TOOLS:Mautomake14) . if !empty(PKGPATH:Mdevel/automake14) MAKEFLAGS+= TOOLS_IGNORE.automake14= . else AUTOMAKE_REQD?= 1.4 AUTOCONF_REQD?= 2.13 USE_TOOLS+= autoconf213 TOOLS_DEPMETHOD.automake14?= BUILD_DEPENDS TOOLS_DEPENDS.automake14?= automake14>=${AUTOMAKE_REQD}:../../devel/automake14 . if empty(${TOOLS_DEPMETHOD.automake14}:M${TOOLS_DEPENDS.automake14}) ${TOOLS_DEPMETHOD.automake14}+= ${TOOLS_DEPENDS.automake14} . endif EVAL_PREFIX+= _TOOLS_AM_PREFIX=automake14 _TOOLS_AM_TYPE.aclocal-1.4= TOOLS_CREATE _TOOLS_AM_TYPE.aclocal= # empty TOOLS_REAL_CMD.aclocal-1.4= ${_TOOLS_AM_PREFIX}/bin/aclocal-1.4 TOOLS_ALIASES.aclocal-1.4= aclocal _TOOLS_AM_TYPE.automake-1.4= TOOLS_CREATE _TOOLS_AM_TYPE.automake= # empty TOOLS_REAL_CMD.automake-1.4= ${_TOOLS_AM_PREFIX}/bin/automake-1.4 TOOLS_ALIASES.automake-1.4= automake # Continue to define the following variables until packages have been # taught to just use "aclocal" and "automake" instead. # ACLOCAL= ${TOOLS_CMD.aclocal-1.4} AUTOMAKE= ${TOOLS_CMD.automake-1.4} . endif .endif # If the package wants to override the GNU auto* tools, then do it. AUTOMAKE_OVERRIDE?= yes .if !empty(AUTOMAKE_OVERRIDE:M[yY][eE][sS]) . for _t_ in ${_TOOLS_AM_NAMES} . if !empty(_TOOLS_AM_TYPE.${_t_}) ${_TOOLS_AM_TYPE.${_t_}}+= ${_t_} . endif . endfor . undef _t_ .endif .if !empty(USE_TOOLS:Mgettext-m4) BUILD_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4 .endif @ 1.7.2.3 log @EOL the tv-derecurse branch; it has become too outdated. The last live revision can be fetched at the tv-derecurse-eol tag. @ text @d1 146 @ 1.6 log @Rewrite so that we avoid needing to check the value of TOOLS_REAL_CMD.* within make. This allows us to use EVAL_PREFIX to locate the installation prefix for autoconf and automake, which is more pkgviews-friendly. In any case, this implementation is a lot simpler anyway. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.5 2005/05/10 19:34:02 jlam Exp $ d76 2 d105 2 @ 1.5 log @TOOLS_CREATE has replaced TOOLS_{SYMLINK,WRAP}. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.4 2005/04/28 03:01:11 jlam Exp $ d53 17 a69 16 _TOOLS_AUTOMAKE= aclocal automake _TOOLS_AUTOMAKE.aclocal= aclocal aclocal-1.4 \ aclocal-1.5 \ aclocal-1.6 \ aclocal-1.7 \ aclocal-1.8 \ aclocal-1.9 _TOOLS_AUTOMAKE.automake= automake automake-1.4 \ automake-1.5 \ automake-1.6 \ automake-1.7 \ automake-1.8 \ automake-1.9 _TOOLS_AUTOMAKE_LINKS= # empty d82 1 d84 2 a85 2 _TOOLS_AUTOMAKE_LINKS+= aclocal TOOLS_REAL_CMD.aclocal= ${LOCALBASE}/bin/aclocal d87 2 a88 2 _TOOLS_AUTOMAKE_LINKS+= automake TOOLS_REAL_CMD.automake= ${LOCALBASE}/bin/automake d109 1 d111 9 a119 5 _TOOLS_AUTOMAKE_LINKS+= aclocal TOOLS_REAL_CMD.aclocal= ${LOCALBASE}/bin/aclocal-1.4 _TOOLS_AUTOMAKE_LINKS+= automake TOOLS_REAL_CMD.automake= ${LOCALBASE}/bin/automake-1.4 d124 2 a125 2 ACLOCAL= ${TOOLS_CMD.aclocal} AUTOMAKE= ${TOOLS_CMD.automake} d129 1 a129 3 # For every script that hasn't already been symlinked, we mark it as # "GNU missing". # d132 3 a134 13 TOOLS_CREATE+= ${_TOOLS_AUTOMAKE_LINKS} . for _t_ in ${_TOOLS_AUTOMAKE_LINKS} . for _s_ in ${_TOOLS_AUTOMAKE.${_t_}} . if empty(TOOLS_REAL_CMD.${_t_}:M*/${_s_}) TOOLS_GNU_MISSING+= ${_s_} . endif . endfor . endfor . for _t_ in ${_TOOLS_AUTOMAKE} . if empty(_TOOLS_AUTOMAKE_LINKS:M${_t_}) . for _s_ in ${_TOOLS_AUTOMAKE.${_t_}} TOOLS_GNU_MISSING+= ${_s_} . endfor a136 1 . undef _s_ @ 1.4 log @Define TOOLS_DEPENDS.* to be the dependency that will be added, and filter out dependencies that have already been added. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.3 2005/04/26 15:32:05 jlam Exp $ d127 1 a127 1 TOOLS_SYMLINK+= ${_TOOLS_AUTOMAKE_LINKS} @ 1.3 log @As of bsd.tool.mk:1.6, TOOLS_CMD. defaults to ${TOOLS_DIR}/bin/, so remove redundant settings. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.2 2005/04/15 05:30:48 jlam Exp $ d75 6 a80 3 BUILD_DEPENDS+= automake>=${AUTOMAKE_REQD}:../../devel/automake USE_TOOLS+= autoconf AUTOCONF_REQD?= 2.58 d101 6 a106 3 BUILD_DEPENDS+= automake14>=${AUTOMAKE_REQD}:../../devel/automake14 USE_TOOLS+= autoconf213 AUTOCONF_REQD?= 2.13 @ 1.2 log @Avoid dependency loops by setting and checking TOOLS_IGNORE.* guards. @ text @d1 1 a1 1 # $NetBSD: automake.mk,v 1.1 2005/04/15 00:00:21 jlam Exp $ a79 1 TOOLS_CMD.aclocal= ${TOOLS_DIR}/bin/aclocal a82 1 TOOLS_CMD.automake= ${TOOLS_DIR}/bin/automake a102 1 TOOLS_CMD.aclocal= ${TOOLS_DIR}/bin/aclocal a105 1 TOOLS_CMD.automake= ${TOOLS_DIR}/bin/automake @ 1.1 log @Initial commit of the new tools framework. This is currently designed to be a drop-in replacement for mk/tools.mk, but isn't yet enabled pending further testing. To use, edit bsd.pkg.mk to include bsd.tools.mk instead of tools.mk. The major changes from the old tools framework are: (1) The new interface to using the tools framework is through setting USE_TOOLS in the package Makefile, e.g., USE_TOOLS+= autoconf gmake yacc (2) Bison/yacc handling is improved. Instead of adding checks for /usr/bin/yacc to the package Makefile and explicitly setting YACC, e.g., security/mit-krb5/Makefile, simply add "yacc" to USE_TOOLS. If bison is explicitly required, then add "bison" to USE_TOOLS instead. (3) GNU auto* tools are handled differently. "autoconf", "aclocal", "automake", etc. will be tools in ${TOOLS_DIR} that point to the correct versions of the auto* tools. Instead of patching Makefiles or scripts to use ${AUTOCONF}, ${ACLOCAL}, etc., the correct versions of the tools will be called if they are invoked simply by their bare names. This is selected by adding either "autoconf" or "autoconf213", or "automake" or "automake14" to USE_TOOLS. The new tools framework will deprecate the following variables: ACLOCAL AUTORECONF AUTOCONF BUILD_USES_GETTEXT_M4 AUTOHEADER USE_GNU_TOOLS AUTOMAKE USE_TBL The new tools framework will deprecate the following *.mk files: mk/autoconf.mk mk/automake.mk mk/tools.mk Additional documentation on how to use bsd.tools.mk to create new tools under ${TOOLS_DIR} may be found in the header comments in bsd.tools.mk. @ text @d1 1 a1 1 # $NetBSD$ d70 4 a73 1 .if !empty(USE_TOOLS:Mautomake) d92 1 d95 4 a98 1 .if !empty(USE_TOOLS:Mautomake14) d117 1 @