Commit graph

26 commits

Author SHA1 Message Date
David Given
c573b9bce2 Split aal arguments properly. 2022-07-18 16:48:14 +02:00
David Given
01c2342e18 Create archives in chunks to allow for very long lists of members. 2022-07-18 00:55:02 +02:00
David Given
698613cd7d Turns out that the compiler needs access to the libpc headers too; refactor
into a separate target to avoid build loops and make it work.
2018-06-18 22:17:38 +02:00
David Given
d623440c77 Add the core of a simple em22 platform. Unfortunately it doesn't work; the old
em libmon vanished decades ago (or never existed), and also ass appears to have
a different idea of what the em opcodes are to everything else and gets
confused.
2018-06-10 20:25:48 +09:00
George Koehler
4a3b7be795 Use ack -mcpm -fp for mandelbrot.c, startrek.c
Add a variable %{ackldflags} so I can pass `-fp`.  This change seems
to cause the build to relink every ackprogram, because the link now
needs to use %{ackldflags} even if the flags are empty.

mandelbrot_c_cpm runs in YAZE-AG; startrek_c_cpm doesn't run because
it doesn't fit in the 16-bit address space.
2018-04-28 13:18:27 -04:00
George Koehler
b9b3428e01 Build (but don't use) libfp for cpm.
This library is for software floating point.  The i80 back end has
never implemented floating point, and might not be ready for libfp.
This commit only builds libfp without using it.

I edit first/build.lua and plat/build.lua to allow `ack -c.s`, then
use FP.script to edit the assembly code.  I edit FP.script so it
writes the edited assembly code to stdout, not to the input file.
2018-04-25 00:34:10 -04:00
David Given
4b5a7fee14 Made the cgg and the cg code generator work; use this to beat the PDP/11
backend into shape. It now generates binaries --- no idea whether they work or
not.
2018-02-23 22:31:46 +01:00
David Given
a43258fe9d Build the B compiler and standard library (also the Basic one, which was
missing).
2016-12-29 17:11:07 +00:00
David Given
9f34262f95 Implement enough libb to make 'Hello, world!' work. 2016-11-27 22:05:15 +01:00
David Given
2d0bc7ef0d Finally fix the build system issue where ackprogram would try to explicitly
link all the language libraries.
2016-11-20 18:57:44 +01:00
David Given
5f0164db62 Bolt mcg into the PowerPC backend. It doesn't build yet, but it is generating
*some* code.
2016-10-17 00:06:06 +02:00
David Given
5bae29a00c ego now builds and is used.
This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.

Plats now only specify the ego descr file if they have one.
2016-08-21 22:01:19 +02:00
David Given
1a7b4f8729 Build the examples when doing a normal build; this exercises the compiler as a
whole and is one step further towards a proper test suite.
2016-08-20 14:05:24 +02:00
David Given
f253b6a169 linux386 builds. Also, forgot to turn back on the language runtimes. 2016-08-14 10:37:55 +02:00
David Given
262c5fedcf Biggish refactor to break cycles; my build rules were full of them. cpm builds,
which requires top and topgen.
2016-08-14 01:39:40 +02:00
David Given
e0b8bd221d Pascal runtime library now builds. 2016-08-13 13:07:19 +02:00
David Given
e770d09dc8 Pascal compiler builds. 2016-08-13 13:03:06 +02:00
David Given
00c67fcc0e Modula-2 runtime library now builds. 2016-08-13 12:43:44 +02:00
David Given
08b7c4aaae The Basic runtime builds now. 2016-08-12 00:24:40 +02:00
David Given
7c60c27302 The Basic compiler works now. 2016-08-12 00:19:51 +02:00
David Given
0d77cb8279 We can build our first C file. 2016-08-07 21:56:53 +02:00
David Given
5e84be70fd Massive ackbuilder refactor --- cleaner and more expressive. Lists
are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal.
2016-08-04 23:51:19 +02:00
David Given
b2bb4ce3b2 Builds libend (the simplest library). Becoming obvious I need to rework the way
ackbuilder deals with lists.
2016-07-30 00:39:22 +02:00
David Given
363d13cc2f C preprocessor; tabgen; now the pc86 boot.s builds using the ack
toolchain.
2016-07-29 00:22:49 +02:00
David Given
a8a9d1bbfa yacc, ncgg; platform ncg builds now. 2016-07-26 23:35:30 +02:00
David Given
bff5c4019c Baby steps towards building a platform --- make the assembler work.
Add ackbuilder support for C preprocessor files and yacc.
2016-07-24 00:50:02 +02:00