linux-qubasis

linux oasis port as a qubes template

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

commit e484778c3a0416144127b39f18f87c55b9ea1488
parent 78e15ae6d5c4427107413ef3cf7a90a0309beda8
Author: Jul <jul@9o.is>
Date:   Wed, 27 Aug 2025 15:40:07 +0800

simplify ninja targets with $tgtdir

Diffstat:
Mninja/functions.sh | 43+++++++++++++++++++++----------------------
Mpkg/b3sum/gen.sh | 1-
Mpkg/fspec-sync/gen.sh | 1-
Mpkg/netbsd-curses/gen.sh | 1-
4 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/ninja/functions.sh b/ninja/functions.sh @@ -169,16 +169,18 @@ subgen() { } subninja() { - local subname="-$1" - ( - _ninja_init "$_ninja_gendir" "$subname" - _ninja_sub="$subname" + _ninja_filesuffix="-$1" + _ninja_init "$_ninja_gendir" + + setv outdir $outdir/$1 + setv tgtdir $gendir/$1 + eval $1 _ninja_complete ) - printf 'subninja $ninjadir/%s.ninja\n' "$_ninja_gendir$subname" >> "$_ninja_writepath" + printf 'subninja $ninjadir/%s.ninja\n' "$_ninja_gendir-$1" >> "$_ninja_writepath" } gen() { @@ -204,10 +206,8 @@ _ninja_queue_subgen= _ninja_init() { local gendir=$1 - local suffix=${2-} - - _ninja_initglobals "$gendir" "$suffix" + _ninja_initglobals "$gendir" mkdir -p "$_ninja_ninjadir"/${gendir%/*} printf '' > "$_ninja_writepath" } @@ -217,7 +217,7 @@ _ninja_complete() { _ninja_flush - build phony $gendir/configure$_ninja_sub $ninjadir/$_ninja_file + build phony $tgtdir/configure $ninjadir/$_ninja_file build gen $ninjadir/$_ninja_file '|' $gen_files mv $_ninja_writepath ${_ninja_writepath%.*} @@ -229,7 +229,6 @@ _ninja_complete() { _ninja_initglobals() { local gendir="$1" - local suffix="${2-}" _ninja_basedir="${_ninja_basedir-$basedir}" _ninja_dir="$_ninja_basedir/$gendir" @@ -242,9 +241,8 @@ _ninja_initglobals() { ;; pkg/*|tpl/*) _ninja_type="${gendir%%/*}" - _ninja_name="${gendir#*/}" _ninja_gendir="$gendir" - _ninja_file=$gendir$suffix.ninja + _ninja_file=$gendir${_ninja_filesuffix-}.ninja ;; *) printf "Error gen $_ninja_file: invalid gendir: %s\n" "$gendir" @@ -253,7 +251,6 @@ _ninja_initglobals() { _ninja_writepath="$_ninja_ninjadir"/$_ninja_file.tmp - _ninja_sub= _ninja_buffer_subgen= _ninja_buffer_exe= _ninja_buffer_lib= @@ -267,6 +264,7 @@ _ninja_initglobals() { _ninja_setv_init() { setv gendir "$1" + setv tgtdir '$gendir' case $_ninja_type in pkg) @@ -286,6 +284,7 @@ _ninja_setv_init() { builddir='$builddir' ninjadir='$ninjadir' gendir='$gendir' + tgtdir='$tgtdir' dir='$dir' outdir='$outdir' srcdir='$srcdir' @@ -361,7 +360,7 @@ _ninja_compile() { obj=$objdir/${src#\$srcdir/}.o if [ "$_ninja_buffer_deps" ]; then - src="$src || \$gendir/deps$_ninja_sub" + src="$src || \$tgtdir/deps" fi build cc $obj $src @@ -451,13 +450,13 @@ _ninja_flush_build() { local pkg='' for pkg in $_ninja_buffer_subgen; do - subbuilds="$subbuilds \$gendir/$pkg/build$_ninja_sub" + subbuilds="$subbuilds \$tgtdir/$pkg/build" done case $_ninja_type in - root) build phony $gendir/build $subbuilds;; - tpl) build phony $gendir/build $outdir/rootfs.tar.zst;; - pkg) build phony $gendir/build$_ninja_sub $outdir/_files/_all $subbuilds;; + root) build phony $tgtdir/build $subbuilds;; + tpl) build phony $tgtdir/build $outdir/rootfs.tar.zst;; + pkg) build phony $tgtdir/build $outdir/_files/_all $subbuilds;; esac } @@ -470,10 +469,10 @@ _ninja_flush_sync() { fi for pkg in $_ninja_buffer_subgen; do - subsyncs="$subsyncs \$gendir/$pkg/sync" + subsyncs="$subsyncs \$tgtdir/$pkg/sync" done - build phony $gendir/sync$_ninja_sub "$subsyncs" + build phony $tgtdir/sync "$subsyncs" if [ "$_ninja_type" = 'root' ]; then return @@ -497,7 +496,7 @@ _ninja_flush_deps() { return fi - build phony $gendir/deps$_ninja_sub "$_ninja_buffer_deps" + build phony $tgtdir/deps "$_ninja_buffer_deps" } _ninja_flush_headers() { @@ -510,7 +509,7 @@ _ninja_flush_headers() { build copy $outdir/include/${src##*/} $src done - build phony $gendir/headers$_ninja_sub "$_ninja_buffer_headers" + build phony $tgtdir/headers "$_ninja_buffer_headers" } _ninja_flush_fspec() { diff --git a/pkg/b3sum/gen.sh b/pkg/b3sum/gen.sh @@ -4,7 +4,6 @@ cflags \ host() { set_host_platform - setv outdir $outdir/host compile blake3.c compile blake3_dispatch.c diff --git a/pkg/fspec-sync/gen.sh b/pkg/fspec-sync/gen.sh @@ -6,7 +6,6 @@ cflags \ host() { set_host_platform - setv outdir $outdir/host cflags -I $pkgdir/b3sum/include deps b3sum/headers diff --git a/pkg/netbsd-curses/gen.sh b/pkg/netbsd-curses/gen.sh @@ -41,7 +41,6 @@ nbperf() { tools() { set_host_platform - setv outdir $outdir/tools cflags \ -I $srcdir/compat \ -I $srcdir/lib/libterminfo