pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mk



Module Name:    pkgsrc
Committed By:   jperkin
Date:           Fri Oct 11 12:18:07 UTC 2024

Modified Files:
        pkgsrc/mk: bsd.pkg.use.mk
        pkgsrc/mk/buildlink3: bsd.buildlink3.mk

Log Message:
mk: Add mktool support to wrapper.

mktool is an optional external tool, available from pkgtools/mktool or
"cargo install mktool", that provides significant performance improvements
compared to the default wrapper target, while being 100% compatible.

After installing, set TOOLS_PLATFORM.mktool=/path/to/mktool to enable it.

Comparing the time taken to run "bmake wrapper" on a SmartOS host inside
x11/kde-workspace4, the default wrapper target takes:

  real  1m42.699s
  user  0m27.931s
  sys   1m17.968s

while mktool takes:

  real  0m9.090s
  user  0m4.571s
  sys   0m5.405s

This is comparable to mk-buildlink-symlinks from pkgtools/mktools but does
not require an additional dependency, so works against all packages, and
also saves an extra package install for every package in a bulk build.


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 pkgsrc/mk/bsd.pkg.use.mk
cvs rdiff -u -r1.264 -r1.265 pkgsrc/mk/buildlink3/bsd.buildlink3.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/mk/bsd.pkg.use.mk
diff -u pkgsrc/mk/bsd.pkg.use.mk:1.75 pkgsrc/mk/bsd.pkg.use.mk:1.76
--- pkgsrc/mk/bsd.pkg.use.mk:1.75       Fri Apr 12 19:54:44 2024
+++ pkgsrc/mk/bsd.pkg.use.mk    Fri Oct 11 12:18:07 2024
@@ -1,4 +1,4 @@
-#      $NetBSD: bsd.pkg.use.mk,v 1.75 2024/04/12 19:54:44 riastradh Exp $
+#      $NetBSD: bsd.pkg.use.mk,v 1.76 2024/10/11 12:18:07 jperkin Exp $
 #
 # Turn USE_* macros into proper depedency logic.  Included near the top of
 # bsd.pkg.mk, after bsd.prefs.mk.
@@ -113,7 +113,9 @@ MAKE_ENV+=          LIBTOOL="${LIBTOOL} ${LIBTOO
 
 # PKGSRC_USE_MKTOOLS.  Cyclic dependencies prevent us from using mktools
 # when building cwrappers, so use the shell tools in that instance.
-.if ${_PKGSRC_USE_MKTOOLS} == "yes" && empty(PKGPATH:Mpkgtools/cwrappers)
+.if !empty(TOOLS_PLATFORM.mktool)
+PKG_MKSYMLINKS?=       ${TOOLS_PLATFORM.mktool} symlinks
+.elif ${_PKGSRC_USE_MKTOOLS} == "yes" && empty(PKGPATH:Mpkgtools/cwrappers)
 TOOL_DEPENDS+=         mktools-[0-9]*:../../pkgtools/mktools
 PKG_MKSYMLINKS?=       ${TOOLBASE}/libexec/mktools/mk-buildlink-symlinks
 .endif

Index: pkgsrc/mk/buildlink3/bsd.buildlink3.mk
diff -u pkgsrc/mk/buildlink3/bsd.buildlink3.mk:1.264 pkgsrc/mk/buildlink3/bsd.buildlink3.mk:1.265
--- pkgsrc/mk/buildlink3/bsd.buildlink3.mk:1.264        Fri Oct 11 08:24:48 2024
+++ pkgsrc/mk/buildlink3/bsd.buildlink3.mk      Fri Oct 11 12:18:07 2024
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.buildlink3.mk,v 1.264 2024/10/11 08:24:48 jperkin Exp $
+# $NetBSD: bsd.buildlink3.mk,v 1.265 2024/10/11 12:18:07 jperkin Exp $
 #
 # Copyright (c) 2004 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -741,7 +741,7 @@ ${_BLNK_COOKIE.${_pkg_}}:
                ${ERROR_MSG} "[bsd.buildlink3.mk] X11BASE is not set correctly."; \
                exit 1;                                                 \
        }
-.if ${_PKGSRC_USE_MKTOOLS} == "yes"
+.if !empty(TOOLS_PLATFORM.mktool) || ${_PKGSRC_USE_MKTOOLS} == "yes"
        ${RUN}                                                          \
        case "${BUILDLINK_PREFIX.${_pkg_}}" in                          \
        ${LOCALBASE})   buildlink_dir="${BUILDLINK_DIR}" ;;             \



Home | Main Index | Thread Index | Old Index