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.
bcm64\
cycv\
kw\
- mtx\
+# power arch:\
+# mtx\
omap\
pc\
pc64\
- ppc\
+# power arch:\
+# ppc\
sgi\
teg2\
xen\
all:V: $TARG
+install:V:
+ echo install not supported >[1=2]
+
clean:V:
rm -rf $TARG *.$O
@{objtype=$cputype mk -f mkfile.port clean}
</$objtype/mkfile
+SUPPORTED_OBJS=\
+ 386\
+ amd64\
+ arm\
+ arm64\
+ mips\
+
LIBS=\
lib9p\
libString\
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) @{