summaryrefslogtreecommitdiff
path: root/sys/src/mkfile
diff options
context:
space:
mode:
authorunobe@cpan.org <unobe@cpan.org>2021-08-17 14:00:47 +0000
committerunobe@cpan.org <unobe@cpan.org>2021-08-17 14:00:47 +0000
commit8c228a123fa0c6062570964011854302bbf57242 (patch)
tree43ab89b4595779196c7254a0de34305239cccd6f /sys/src/mkfile
parent2eadf1fa1703e5da4a98ba9c1a2bdc23bd140d8c (diff)
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.
Diffstat (limited to 'sys/src/mkfile')
-rw-r--r--sys/src/mkfile31
1 files changed, 23 insertions, 8 deletions
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) @{