From: David Given Date: Sun, 27 Nov 2016 19:48:07 +0000 (+0100) Subject: Hook the B compiler up to the compiler driver. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4485d89b23f0eb93967db22cd1d48af2d6378f12;p=ack.git Hook the B compiler up to the compiler driver. --- 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 \