linux-qubasis

linux oasis port as a qubes template

git clone https://9o.is/git/linux-qubasis.git

commit c3dafcf62689b8510f866fc50833a85d03e3ea2e
parent c4645e5b818392be24208a74f8d167e4dad1f36d
Author: Jul <jul@9o.is>
Date:   Thu, 28 Aug 2025 13:14:44 +0800

allow ninja gen files to handle dup object compilation

Diffstat:
Mninja/functions.sh | 19+++++++++++++++++++
Mpkg/less/gen.sh | 19++++++-------------
2 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/ninja/functions.sh b/ninja/functions.sh @@ -207,6 +207,7 @@ _ninja_initglobals() { _ninja_writepath="$_ninja_ninjadir"/$_ninja_file.tmp _ninja_buffer_subgen= + _ninja_buffer_objs= _ninja_buffer_exe= _ninja_buffer_lib= _ninja_buffer_d= @@ -304,12 +305,18 @@ _ninja_compile() { *.[cS]) _obj=$objdir/${_src#\$srcdir/}.o + if _ninja_has $_obj $_ninja_buffer_objs; then + _objs="$_objs $_obj" + continue + fi + if [ "$_ninja_buffer_deps" ]; then _src="$_src || \$tgtdir/deps" fi build cc $_obj $_src _objs="$_objs $_obj" + _ninja_buffer_objs="$_ninja_buffer_objs $_obj" ;; *.[ao]) _objs="$_objs $_src" @@ -554,3 +561,15 @@ _ninja_dedup() { eval "$_var='$_vs'" } + +_ninja_has() { + _v1=$1; shift + + for _v in $*; do + if [ $_v = $_v1 ]; then + return 0 + fi + done + + return 1 +} diff --git a/pkg/less/gen.sh b/pkg/less/gen.sh @@ -10,13 +10,6 @@ cflags \ dep netbsd-curses/headers -compile lesskey_parse.c -compile version.c -compile xbuf.c -sync lesskey_parse.c -sync version.c -sync xbuf.c - exe less \ brac.c \ ch.c \ @@ -51,9 +44,9 @@ exe less \ signal.c \ tags.c \ ttyin.c \ - $objdir/lesskey_parse.c.o \ - $objdir/version.c.o \ - $objdir/xbuf.c.o \ + lesskey_parse.c \ + version.c \ + xbuf.c \ $pkgdir/netbsd-curses/libcurses.a.d exe lessecho \ @@ -62,9 +55,9 @@ exe lessecho \ exe lesskey \ lesskey.c \ - $objdir/lesskey_parse.c.o \ - $objdir/version.c.o \ - $objdir/xbuf.c.o + lesskey_parse.c \ + version.c \ + xbuf.c bin less sym less /bin/more