diff options
author | unobe@cpan.org <unobe@cpan.org> | 2021-08-17 14:00:47 +0000 |
---|---|---|
committer | unobe@cpan.org <unobe@cpan.org> | 2021-08-17 14:00:47 +0000 |
commit | 8c228a123fa0c6062570964011854302bbf57242 (patch) | |
tree | 43ab89b4595779196c7254a0de34305239cccd6f | |
parent | 2eadf1fa1703e5da4a98ba9c1a2bdc23bd140d8c (diff) | |
download | plan9front-8c228a123fa0c6062570964011854302bbf57242.tar.xz |
mk for only supported archs
http://fqa.9front.org/fqa1.html#1.2 states the supported archs.
However, clean and nuke also remove build files for 0 (spim) and q
(power). 'mk all' using those archs fails; 'mk kernels' also tries to
build all the kernels, even those which are not supported. For
example, I tried to build the power arch (qc, qa, ql) and without
surprise it failed (when building dtracy): ...
mk dtracy
qc -FTVw dtracy.c
yacc -v -d -D1 parse.y
qc -FTVw cgen.c
qc -FTVw act.c
qc -FTVw type.c
== regfree ==
REGISTER R0 <11> STRUCT DTAct cgen.c:302
== regfree ==
REGISTER R0 <11> STRUCT DTAct act.c:266
== regfree ==
qc -FTVw agg.c
cgen.c:299 unknown type in regalloc: STRUCT DTAct
cgen.c:299 bad opcode in gmove INT -> STRUCT DTAct
cgen.c:302 unknown type in regalloc: STRUCT DTAct
cgen.c:302 bad opcode in gmove INT -> STRUCT DTAct
cgen.c:302 error in regfree: 0 [0]
REGISTERmk: qc -FTVw cgen.c : exit status=rc 387386: qc 387392: error R0
<11> STRUCT DTAct act.c:269
act.c:250 unknown type in regalloc: STRUCT DTAct
act.c:250 bad opcode in gmove INT -> STRUCT DTAct
act.c:266 unknown type in regalloc: STRUCT DTAct
act.c:266 bad opcode in gmove INT -> STRUCT DTAct
act.c:266 error in regfree: 0 [0]
act.c:269 unknown type in regalloc: STRUCT DTAct
act.c:269 bad opcode in gmove INT -> STRUCT DTAct
act.c:269 error in regfree: 0 [0]
act.c:274 unknown type in regalloc: STRUCT DTAct
act.c:274 bad opcode in gmove INT -> STRUCT DTAct
act.c:274 error in regfree: 0 [0]
too many errors
mk: for(i in cc ... : exit status=rc 382748: rc 387379: mk 387381: error
mk: date for (i ... : exit status=rc 373781: rc 382226: mk 382227: error
cpu%
The patch below skips over non-supported architectures. Is that
something we want? This way, 'mk kernels' should work without a
problem (tested on amd64). Then if someone works on getting those
architectures supported again in the future, they can be added back
in.
-rw-r--r-- | sys/src/9/mkfile | 6 | ||||
-rw-r--r-- | sys/src/boot/zynq/mkfile | 3 | ||||
-rw-r--r-- | sys/src/mkfile | 31 |
3 files changed, 30 insertions, 10 deletions
diff --git a/sys/src/9/mkfile b/sys/src/9/mkfile index 9208a7b94..d4e9a7228 100644 --- a/sys/src/9/mkfile +++ b/sys/src/9/mkfile @@ -3,11 +3,13 @@ ARCH=\ bcm64\ cycv\ kw\ - mtx\ +# power arch:\ +# mtx\ omap\ pc\ pc64\ - ppc\ +# power arch:\ +# ppc\ sgi\ teg2\ xen\ diff --git a/sys/src/boot/zynq/mkfile b/sys/src/boot/zynq/mkfile index 90f503446..2dd24c711 100644 --- a/sys/src/boot/zynq/mkfile +++ b/sys/src/boot/zynq/mkfile @@ -7,6 +7,9 @@ TEXTBASE=0xfffc0000 all:V: $TARG +install:V: + echo install not supported >[1=2] + clean:V: rm -rf $TARG *.$O @{objtype=$cputype mk -f mkfile.port clean} diff --git a/sys/src/mkfile b/sys/src/mkfile index 00c1800c8..7711200b6 100644 --- a/sys/src/mkfile +++ b/sys/src/mkfile @@ -1,5 +1,12 @@ </$objtype/mkfile +SUPPORTED_OBJS=\ + 386\ + amd64\ + arm\ + arm64\ + mips\ + LIBS=\ lib9p\ libString\ @@ -52,21 +59,29 @@ none:VQ: all install clean nuke:VQ: date - for (i in $LIBS $SUBSYS $CMDS) @{ - cd $i - mk $target + if (~ $objtype $SUPPORTED_OBJS) { + for (i in $LIBS $SUBSYS $CMDS) @{ + cd $i + mk $target + } } + if not + echo $objtype arch not supported by 9front >[1=2] date installall:V: echo "installall not supported" release:V: - mk nuke - rm -f /$objtype/lib/ape/*.a - rm -f /$objtype/lib/*.a - mk install - mk clean + if (~ $objtype $SUPPORTED_OBJS) { + mk nuke + rm -f /$objtype/lib/ape/*.a + rm -f /$objtype/lib/*.a + mk install + mk clean + } + if not + echo $objtype architecture not supported >[1=2] kernels:V: for (i in 9 boot) @{ |