From 4485d89b23f0eb93967db22cd1d48af2d6378f12 Mon Sep 17 00:00:00 2001 From: David Given Date: Sun, 27 Nov 2016 20:48:07 +0100 Subject: [PATCH] Hook the B compiler up to the compiler driver. --- lang/b/compiler/build.lua | 2 +- lib/descr/fe | 10 ++++++++++ plat/cpm/descr | 5 +++-- plat/linux386/descr | 5 +++-- plat/linux68k/descr | 5 +++-- plat/linuxppc/descr | 5 +++-- plat/pc86/descr | 5 +++-- plat/qemuppc/descr | 5 +++-- plat/rpi/descr | 5 +++-- 9 files changed, 32 insertions(+), 15 deletions(-) diff --git a/lang/b/compiler/build.lua b/lang/b/compiler/build.lua index 00afc81ef..82095a683 100644 --- a/lang/b/compiler/build.lua +++ b/lang/b/compiler/build.lua @@ -8,7 +8,7 @@ cprogram { "./*.h", "modules+headers", "modules/src/alloc+lib", - "modules/src/em_code+lib_e", + "modules/src/em_code+lib_k", "modules/src/em_data+lib", "modules/src/em_mes+lib", "modules/src/print+lib", diff --git a/lib/descr/fe b/lib/descr/fe index b40f3ec9d..874e2901c 100644 --- a/lib/descr/fe +++ b/lib/descr/fe @@ -180,6 +180,16 @@ name a68s need .8 callname a68s end +name b + from .b + to .k + program {EM}/lib/ack/em_b + args -i < -o > -w {p} + prep cond + rts .b + need .b + callname abc +end name encode from .e to .k diff --git a/plat/cpm/descr b/plat/cpm/descr index 80dec921c..d178b46c5 100644 --- a/plat/cpm/descr +++ b/plat/cpm/descr @@ -61,16 +61,17 @@ name led mapflag -fp FLOATS={EM}/{ILIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/linux386/descr b/plat/linux386/descr index 92d3b9f9c..7dbeec738 100644 --- a/plat/linux386/descr +++ b/plat/linux386/descr @@ -57,16 +57,17 @@ name led mapflag -fp FLOATS={EM}/{LIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/linux68k/descr b/plat/linux68k/descr index 5963d1a44..5fbe16a38 100644 --- a/plat/linux68k/descr +++ b/plat/linux68k/descr @@ -57,16 +57,17 @@ name led mapflag -fp FLOATS={EM}/{LIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/linuxppc/descr b/plat/linuxppc/descr index f54f4ad3e..51121278d 100644 --- a/plat/linuxppc/descr +++ b/plat/linuxppc/descr @@ -63,16 +63,17 @@ name led mapflag -fp FLOATS={EM}/{LIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/pc86/descr b/plat/pc86/descr index 3037df99f..578ac292c 100644 --- a/plat/pc86/descr +++ b/plat/pc86/descr @@ -53,16 +53,17 @@ name led mapflag -fp FLOATS={EM}/{ILIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/qemuppc/descr b/plat/qemuppc/descr index 43b5743b8..2027b613c 100644 --- a/plat/qemuppc/descr +++ b/plat/qemuppc/descr @@ -63,16 +63,17 @@ name led mapflag -fp FLOATS={EM}/{LIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ diff --git a/plat/rpi/descr b/plat/rpi/descr index 22682bac1..76c3f4707 100644 --- a/plat/rpi/descr +++ b/plat/rpi/descr @@ -52,16 +52,17 @@ name led mapflag -fp FLOATS={EM}/{ILIB}fp args {ALIGN} {SEPID?} \ (.e:{HEAD}={PLATFORMDIR}/boot.o) \ - ({RTS}:.ocm.bas={PLATFORMDIR}/c-ansi.o) \ + ({RTS}:.ocm.bas.b={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.c={PLATFORMDIR}/c-ansi.o) \ ({RTS}:.mod={PLATFORMDIR}/modula2.o) \ ({RTS}:.p={PLATFORMDIR}/pascal.o) \ -o > < \ (.p:{TAIL}={PLATFORMDIR}/libpascal.a) \ + (.b:{TAIL}={PLATFORMDIR}/libb.a) \ (.bas:{TAIL}={PLATFORMDIR}/libbasic.a) \ (.mod:{TAIL}={PLATFORMDIR}/libmodula2.a) \ (.ocm:{TAIL}={PLATFORMDIR}/liboccam.a) \ - (.ocm.bas.mod.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ + (.ocm.bas.mod.b.c.p:{TAIL}={PLATFORMDIR}/libc.a) \ {FLOATS?} \ (.e:{TAIL}={PLATFORMDIR}/libem.a \ {PLATFORMDIR}/libsys.a \ -- 2.34.1