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
George Koehler
ac4cbd735e
Use libc assert(); fix dependencies; unbreak isduo().
...
Switch from custom assert() to libc assert() in mach/proto/as.
Continue to disable asserts if DEBUG == 0.
This change found a problem in the build system; comm2.y was missing
depedencies on comm0.h and comm1.h. Add the missing dependencies to
the cppfile rule. Allow the dependencies by modifying cppfile in
first/build.lua to act like cfile if t.dir is false.
Now that comm2.y gets rebuilt, I must fix the wrong prototype of
yyparse() in comm1.h.
I got unlucky as induo() in comm5.c was reading beyond the end of the
array. It found an operator "= " ('=' then space) in the garbage, so
it returned a garbage token number, and "VAR = 123" became a syntax
error. Unbreak induo() by terminating the array.
2017-11-11 16:09:05 -05:00
David Given
b5980af06f
Linker groups don't work on OSX; go back to the hacky way of simply specifying
...
the inputs multiple times, which seems to work.
2016-11-24 21:03:27 +01:00
David Given
e9fe1d70a6
Fix (or at least, work around) an issue with library order. Make sure the Basic
...
error symbols are actually defined.
2016-11-13 13:28:09 +01: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
c213602a02
Target lists can now have keyed items ({["foo"] = "+target"); this is
...
used by both installable and by clibrary{} to allow headers to be
installed into subdirectories.
2016-08-08 23:55:23 +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
f9c77fca03
Replace the hacky cflags variable with an equally hacky but vastly
...
more useful magic vars variable.
2016-07-27 00:10:15 +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
David Given
2770a83837
More programs, more libraries. src/modules build files are now saner.
2016-07-23 00:30:31 +02:00
David Given
05e3cf286f
Saner clibrary dependency and header handling.
2016-07-19 23:42:56 +02:00
David Given
cdbd605803
concat, targetnamesof. deps is now handled more consistently (treated the same
...
as ins but not passed in as inputs).
2016-07-14 23:53:34 +02:00
David Given
f70c12fad5
Allow headers which aren't .h files.
2016-06-30 13:27:47 +02:00
David Given
90764320bb
Better cwd handling.
2016-06-29 13:58:38 +02:00
David Given
c8711628ab
clibrary can now export headers.
2016-06-29 13:28:45 +02:00
David Given
d805052205
All the amisc binaries now build.
2016-06-19 09:32:45 +02:00
David Given
2af8568cc3
First draft at installables; not very satisfactory. make bugs with multiple
...
output targets and parallelism?
2016-06-16 05:26:44 +02:00
David Given
605651776e
We can build a real program now!
2016-06-12 20:59:43 +02:00
David Given
015804afce
cprogram works.
2016-06-09 07:14:41 +02:00
David Given
f47bb49c1f
Multiple build files work. Use deps intelligently. clibraries.
2016-06-09 06:55:44 +02:00
David Given
fcc5a878ae
Rather cleaner cfile implementation where you just give it a .c and a pile of .h files.
2016-06-08 03:21:53 +02:00
David Given
8082ef16a7
cfile with dynamically generated headers sort of works.
2016-06-07 05:00:26 +02:00
David Given
f4449e3f97
Multioutput rules work!
2016-06-07 04:20:08 +02:00
David Given
79f7c0ad23
Leaf rules work!
2016-06-07 04:13:56 +02:00
David Given
b7d2b9c3cf
Dependent rules work!
2016-06-07 00:10:22 +02:00