Commit graph

6778 commits

Author SHA1 Message Date
David Given
3584ddb6e9 Push through clang-format. 2016-08-21 19:34:54 +02:00
David Given
a4f136f999 Run through clang-format. 2016-08-21 18:51:36 +02:00
David Given
03a0b182c4 Push em_ego.c through clang-format before working on it. 2016-08-21 18:45:25 +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
53c9731036 aal doesn't build the ranlib table if you don't set -DAAL. 2016-08-20 14:04:46 +02:00
David Given
856eb120b3 Add files which got missed in the initial build pass. 2016-08-20 14:04:17 +02:00
David Given
edee22510b liblinux is no more; its files are now in libsys. 2016-08-20 14:03:49 +02:00
David Given
52eaf753b6 rpi has a time() function; don't try to call gettimeofday(). 2016-08-20 14:03:19 +02:00
David Given
f561b94b49 Print hex numbers actually properly this time. 2016-08-20 14:02:12 +02:00
David Given
204f932ed2 Raspberry Pi backend now builds. 2016-08-20 12:40:13 +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
420c47c386 Fix dependency error (only shows up with make, not ninja. Odd). 2016-08-15 00:46:43 +02:00
David Given
7b8d9e2d0e Fix compiler warnings and 64bitisms. 2016-08-14 23:01:12 +02:00
David Given
870489c8b0 Er, oops; the ninja build system is in a package called ninja-build. 2016-08-14 22:55:10 +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
38c6a87ed5 Add another Travis library. 2016-08-14 22:41:54 +02:00
David Given
8b24b0247b Update Travis metadata. 2016-08-14 14:44:00 +02:00
David Given
a42939df50 LED builds now. 2016-08-14 14:40:01 +02:00
David Given
2dab95eced Move the em_code headers into the em_code module. 2016-08-14 14:17:35 +02:00
David Given
4d24666432 Move util/data into modules/src/em_data, for consistency with the other
modules.
2016-08-14 14:09:38 +02:00
David Given
38fa6941d5 linux68k builds now. 2016-08-14 11:34:18 +02:00
David Given
fb2a42a2db installables need to depend on their source files... 2016-08-14 11:25:47 +02:00
David Given
3df4906d52 Turns out I wasn't building the syscall libraries. Do so. 2016-08-14 11:23:57 +02:00
David Given
b549980af2 Wasn't exporting the plat headers; refactor to make this a little cleaner. 2016-08-14 11:01:36 +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
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
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
dbf8332bf0 Fixed a small bug where two line number directives next to each other wouldn't
be parsed properly (the second one would be treated as Modula-2 syntax).
2016-08-13 12:21:16 +02:00
David Given
8e869b56e7 The Modula-2 compiler now builds. 2016-08-13 00:02:21 +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
b592c88bdf replace() gets confused if you give it a singleton list as its parameter. 2016-08-12 00:19:30 +02:00
David Given
a200a2fb53 Replaced the funky and hard-to-compile ACK malloc with a much smaller
and simpler one stolen from K&R. libc builds now.
2016-08-11 00:30:32 +02:00
David Given
3ce4e53aa9 Most of libc builds now (missing malloc). 2016-08-08 23:55:47 +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