David Given
48480dcae5
Fix a tiny ackbuilder bug where you can't set properties to false.
2019-06-10 16:12:36 +02:00
David Given
fac0764621
Don't crash and burn if there are no tests to run.
2018-06-23 11:14:40 +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
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
6d91bdbbbd
Merge pull request #69 from kernigh/kernigh-stdc
...
use libc assert, strcmp; declare more functions; fewer clang warnings
2017-11-19 12:00:40 +01: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
George Koehler
96e23b3a0f
Show tests that @@TIMEDOUT.
...
A `set -e` in testdriver.sh caused it to exit early and hide the
output of a @@TIMEDOUT test, so I never saw the @@TIMEDOUT marker.
Then build.lua added a @@FAIL marker.
2017-11-08 14:08:43 -05:00
David Given
fd10cf7ac2
Merge from trunk.
2017-08-06 10:42:16 +02:00
David Given
1ea46f6afe
Actually tell the user which tests failed.
2017-01-15 22:26:09 +01:00
David Given
3fe285f8f8
Fix some shell issues that would occasionally cause hangs if no tests failed.
2016-12-05 21:06:38 +01:00
David Given
353e2d2842
Typo fix.
2016-12-02 00:18:44 +01:00
David Given
213def9666
Don't fail to build if all tests are skipped.
2016-12-02 00:14:40 +01:00
David Given
3aa0487289
UI tweaks to the test summary.
2016-12-02 00:10:33 +01:00
David Given
467709ff38
Report skipped, failed and timed out tests.
2016-12-02 00:00:31 +01:00
David Given
8c99e2b7ad
Run all tests, even the ones which fail, and emit a test summary right at the
...
end of the build (and fail then).
2016-12-01 23:03:30 +01: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
84ee75ec07
Merge from default.
2016-11-11 20:17:54 +01:00
David Given
e7eb563ee9
Disable gethostid() in the build system Lua; it's unused and doesn't work on
...
Haiku.
2016-11-11 20:16:43 +01:00
David Given
694d1e2deb
Merge from default.
2016-10-30 15:59: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
479a4efa4f
Use a self-hosted Lua instead of the system one.
2016-10-16 20:07:54 +02:00
David Given
56e13e24e0
Cleanup some stray files.
2016-09-03 19:22:38 +02:00
David Given
1b8df04e58
Add modeline, fix formatting.
2016-09-03 19:17:09 +02:00
David Given
de2f99dc1a
More documentation.
2016-09-03 19:01:47 +02:00
David Given
ea4142daee
First half of the ackbuilder documentation.
2016-09-03 01:04:16 +02:00
David Given
ff9bf5b08a
Makefiles are now slightly less inaccurate. Does actually seem to do sensible
...
incremental builds now. I loathe make.
2016-09-03 00:20:11 +02:00
David Given
f67c98e239
Distributions are a pain --- let's not bother any more. Instead, we just tag
...
the repository and download a complete snapshot, old and ancient stuff and all.
2016-09-02 23:00:38 +02:00
David Given
612e38f1c6
Remove the old make-based build system, plus some big chunks of horribly
...
obsolete protomake build system.
2016-09-02 22:17:51 +02:00
David Given
08823a172c
filenamesof() an installable now returns all installed files, not just the ones
...
at the top level (necessary to make a lot of the dependency stuff work when
using tools which depend on installables).
2016-08-21 21:55:21 +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
23e8d5af5a
Wildcards are allowed to match no files now.
2016-08-20 12:40:00 +02:00
David Given
46bd70380c
Filename variables now get passed into ackbuilder on the command line.
2016-08-15 00:47:08 +02:00
David Given
53f043ff40
Backport to Lua 5.1 (because 5.2 on Travis doesn't have luaposix...).
2016-08-14 22:52:57 +02:00
David Given
fb2a42a2db
installables need to depend on their source files...
2016-08-14 11:25:47 +02:00
David Given
10746f8b97
Add cycle detection, because it was ruining my day. Allow targets to be stored
...
in a file called build-<target>.lua to allow better dividing up of build rules
(to break cycles).
2016-08-14 01:38:36 +02:00
David Given
b592c88bdf
replace() gets confused if you give it a singleton list as its parameter.
2016-08-12 00:19:30 +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
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
b50dc4214a
Add check for undefined variables. Find undefined variables. Fix undefined
...
variables.
2016-08-05 00:01:55 +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
c6292642c6
Fix a nasty dependency bug where filenamesof() on installables wouldn't
...
return any of the installable files (which meant installables were
never considered as dependencies).
2016-07-29 00:22:22 +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
cdeea836f2
Replaced the fairly complex environment code with a much simpler
...
emitter object.
2016-07-26 23:43:31 +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
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