linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
commit 70cb7881e221d6995f4814aad0bff8a685137f34 parent f54f887187c3e198b4d8d5d4a02144aa372258c8 Author: Jul <jul@9o.is> Date: Fri, 28 Nov 2025 13:36:09 -0500 fix lib dependency ordering Diffstat:
| M | pkg/genfn.sh | | | 28 | ++++++++++++++++------------ |
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/pkg/genfn.sh b/pkg/genfn.sh @@ -134,30 +134,30 @@ libexec() { } exe() { - _out=$1; shift + _out=$1 + shift compile $* - if [ "$_objs" ] && [ "$_deps" ]; then - _rspfile=$outdir/rsp/$_out + if [ ! "$_deps" ]; then + link $_out $_objs $_libs + else + _rspfile=$outdir/$_out.rsp awk $_rspfile $_deps '|' ./pkg/rsp.awk bind expr '-f ./pkg/rsp.awk' link $_out $_objs $_libs '|' $_rspfile bind ldlibs @$_rspfile - elif [ "$_objs" ]; then - link $_out $_objs $_libs fi } lib() { - _out=$1; shift + _out=$1 + shift compile $* - if [ "$_objs" ]; then - ar $libdir/$_out $_objs $_libs - rsp $libdir/$_out.d $outdir/$_out $_libs $_deps - fi + ar $libdir/$_out $_objs + rsp $libdir/$_out.d $libdir/$_out $_rsps file reg 0644 '$libdir'/$_out $OUTDIR/$_out } @@ -171,6 +171,7 @@ compile() { _libs= _deps= _hdrs= + _rsps= while [ $# -gt 0 ] && [ "${1#-}" != "$1" ]; do case $1 in @@ -197,9 +198,11 @@ compile() { \$*.[cS]) _srcs="$_srcs $_src";; *.[cS]) _srcs="$_srcs $_src_prefix$_src";; *.o) _objs="$_objs $_src";; - *.a) _libs="$_libs $_src";; - *.a.d) _deps="$_deps $_src";; *.h) _hdrs="$_hdrs $_src";; + *.a) _libs="$_libs $_src" + _rsps="$_rsps $_src";; + *.a.d) _deps="$_deps $_src" + _rsps="$_rsps $_src";; *) error unknown file to compile: $_src;; esac done @@ -209,6 +212,7 @@ compile() { prefix _objs $objdir $_objs prefix _libs $libdir $_libs prefix _deps $libdir $_deps + prefix _rsps $libdir $_rsps for _src in $_srcs; do _obj=$objdir/${_src#\$*/}.o