Commit graph

209 commits

Author SHA1 Message Date
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
David Given b7720c298b Error out if a template expansion returns nil (as it's normally an error). 2016-07-19 23:42:42 +02:00
David Given 2d2497c318 ackbuilder rules files now require absolute paths in external variables
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given 523374c36b Built a make bootstrap that runs either make or ninja depending on which is
installed.
2016-07-16 14:58:29 +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 60edd08390 Make work with make. 2016-06-30 13:19:10 +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 7f7005bac5 Local rules; include() and replace(). 2016-06-29 13:28:22 +02:00
David Given d805052205 All the amisc binaries now build. 2016-06-19 09:32:45 +02:00
David Given 1978867fd2 Add ninja support. It works so much better than make. 2016-06-19 08:55:02 +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 09554cb324 installable works, although it's a bit kludgy. Change the : separator to +
because : is special in make and non of the others I could think of would work.
2016-06-14 07:34:14 +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
David Given 14ccf7151e Most of simplerule now looks like it's working. 2016-06-06 22:13:30 +02:00
David Given cb0111b290 Skeleton of the rule engine and type system. 2016-06-06 20:50:48 +02:00
David Given df1372ab35 Really basic skeleton of Ackbuilder mark 2. 2016-06-06 17:18:19 +02:00
David Given d0bfee142b Archival non-working checkin of the experimental build tool. 2016-06-05 10:39:29 +02:00
David Given 88bd7ce126 Remove defunct pmfiles.
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given 88e13ecce3 Don't use the ACK preprocessor on host files --- use the host preprocessor
instead.

--HG--
branch : default-branch
2016-03-14 20:58:19 +01:00
David Given ff0c78cc78 Merge from default.
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given 3d5e72e20b Newer versions of GNU Make have a new function which collides with a
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given e5341e4167 Remember to clear ackflags on reset.
--HG--
branch : dtrg-videocore
2013-05-20 22:41:27 +01:00
David Given e7c2029c9c Dependency fixes. 2013-05-17 00:04:37 +01:00
David Given f70f78b6e4 Correctly generate dependency information. 2013-05-16 22:02:00 +01:00
David Given 11377070fd Update distribution files.
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given d5f0107746 Build the Basic run-time library (after some modernisation).
--HG--
branch : dtrg-buildsystem
2013-05-14 16:11:29 +01:00
David Given 442306d557 Split off some of the platform-independent stuff (such as as and ncg).
--HG--
branch : dtrg-buildsystem
rename : plat/pc86/build.mk => mach/i386/build.mk
rename : plat/pc86/build.mk => mach/i80/build.mk
rename : plat/pc86/build.mk => mach/i86/build.mk
rename : plat/pc86/build.mk => mach/m68020/build.mk
rename : plat/pc86/build.mk => mach/powerpc/build.mk
2013-05-13 22:12:46 +01:00
David Given b0c238eb5d Made a start on building the runtimes for each platform and language; the
Linuxes all build.

--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +01:00
David Given c1aca7dae5 First milestone of replacing the build system.
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
George Koehler 0131ca4d46 Delete 689 undead files.
These files "magically reappeared" after the conversion from CVS to
Mercurial.  The old CVS repository deleted these files but did not
record *when* it deleted these files.  The conversion resurrected these
files because they have no history of deletion.  These files were
probably deleted before year 1995.  The CVS repository begins to record
deletions around 1995.

These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted.  There is no way to fix
this, because the CVS repository provides no dates of deletion.

See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
dtrg b611731ec3 Updated .distr files for the new release. 2007-02-25 12:51:55 +00:00
dtrg 880e3eade8 Updated to version 0.1.1 of Prime Mover. 2007-02-25 12:39:52 +00:00
dtrg 5c5f711cbb Done a major overhaul of the way target include files are installed and
how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
2007-02-20 00:46:10 +00:00
dtrg 94a7b315e3 Changed the 'preprocess' rule to use the system C preprocessor. 2007-02-20 00:32:58 +00:00
dtrg 02a2876821 Now uses the version of LLgen included with the ACK instead of the standalone version. 2006-11-11 22:59:01 +00:00
dtrg dbe10d2c19 Updated to the version 0.1 of Prime Mover (which involves some syntax changes). 2006-10-15 00:28:12 +00:00
dtrg 1efe7422d3 Added rules for building things with the ack itself. 2006-07-30 23:44:57 +00:00
dtrg e6f856e795 Updated to the latest version of pm. 2006-07-30 23:33:31 +00:00
dtrg e5e66bf27d Updated to the latest version of pm. 2006-07-26 18:24:16 +00:00
dtrg ec8788ce7d Changed to call ranlib on ar archives. (Unnecessary on Linux and *BSD,
but needed on OSX and technically correct.)
2006-07-23 19:56:11 +00:00
dtrg 78ff773233 First version in CVS. 2006-07-22 00:49:48 +00:00
dtrg 2e48c1b80d Changed so as to not compile the ACK with optimisation, to improve
debuggability.
2006-07-22 00:47:55 +00:00
dtrg 097c640a6c First version in CVS. 2006-07-20 23:24:28 +00:00
dtrg 454bdae81f Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.) 2006-07-18 16:45:57 +00:00
cvs2hg 5cb054f106 fixup commit for tag 'llgen-1-0' 2006-02-04 00:57:05 +00:00
dtrg 9bc8c07deb Replaced references to /usr/tmp with references to /tmp. 2005-06-24 22:08:47 +00:00
ceriel e8fdf4fcda fix 2002-09-11 13:19:23 +00:00
ceriel daa34d0fe6 minor mods 2002-09-10 13:30:06 +00:00
ceriel 8a2a3fd74b Only list readable directories 1997-07-01 12:05:54 +00:00
ceriel 7c086b1710 create modules/h too, for varargs.h 1995-08-14 15:07:53 +00:00
ceriel c587ca287e 'ed -' is no longer supported by some systems. Use 'ed -s' 1995-08-14 08:08:56 +00:00
ceriel 1bcd59df35 Some changes suggested by Charles Lindsey 1995-07-26 08:42:56 +00:00
ceriel cfbdef35e7 A couple of fixes: use Bourne shell, and fixed recursive call of get_sys 1994-10-18 16:07:27 +00:00
ceriel 3662861589 Changed PATH somewhat 1994-08-25 08:05:28 +00:00
ceriel 5c83e7dbb5 Header --> Id 1994-06-24 11:31:16 +00:00
ceriel 1ac5aa547d Fix: reset DISABLE_LANG and DISABLE_SUP when installing everything 1993-11-17 16:49:43 +00:00
ceriel e37939e8c8 Correction: also put ack_sys in conf/bin, otherwise mk_makefile does not work 1993-11-12 15:38:49 +00:00
ceriel 5b5323894e No longer depend on /bin/arch 1993-11-10 16:07:31 +00:00
ceriel f1681124d1 Changed modules mechanism 1993-11-10 10:04:30 +00:00
ceriel 66e29d8bd9 Added -lelf for grind on sparc_solaris 1993-11-05 13:12:46 +00:00
ceriel 513c3df1d2 Added sparc Solaris 2 support 1993-10-07 09:09:16 +00:00
ceriel d7a3b68635 Added /usr/local/bin to PATH (for tbl and the like) 1993-05-12 08:26:39 +00:00
ceriel 132f2234fa Changed installation mechanism for docs 1993-03-31 13:33:07 +00:00
ceriel a708a52667 fix: DO_FAST was not set properly 1992-09-04 09:22:11 +00:00
ceriel 3699fe387e Always did limit_enquire 1992-07-27 14:32:53 +00:00
ceriel 2f2b6ccadf Some corrections 1992-06-26 11:54:22 +00:00
ceriel b7b797674f Fixed typo 1992-06-09 11:23:39 +00:00
ceriel 6640944a51 Corrected limit_impl for installation of interpreters 1992-04-23 16:10:13 +00:00
ceriel d0179d6790 do not install peephole optimizer libs when not installing fast compilers 1991-12-18 17:26:52 +00:00
ceriel e35f11f208 Made installation mechanism more portable 1991-12-18 14:51:08 +00:00
ceriel a01a4a9fd2 Fixed typo 1991-12-02 12:01:04 +00:00
ceriel 5fdefde095 Some more fine-tuning of the installation mechanism 1991-11-25 16:47:36 +00:00
ceriel a0f00e0b2b Made installation of fast compilers optional, removed own version of 'echo' 1991-11-18 09:53:58 +00:00
ceriel 13a0dec2f6 Many changes in installation mechanism 1991-11-14 09:35:36 +00:00
ceriel 20c2bb2b79 fixes 1991-10-22 10:55:19 +00:00
ceriel b4ba1a6aca Allow mk_config to run over existing tree, make ack_sys executable 1991-10-18 12:00:42 +00:00
ceriel 80293fbc82 Make target writable 1991-10-18 10:07:38 +00:00
ceriel b61f465b1f A few fixes 1991-10-18 10:02:44 +00:00
ceriel dc61380dc0 many changes 1991-10-16 13:33:38 +00:00
ceriel 425ddb3ff2 New installation mechanism 1991-10-15 16:02:38 +00:00
eck a480e8fa81 fixed typo 1990-09-21 09:27:04 +00:00
ceriel 3c10a60011 vax4 uses own assembler now 1990-07-30 14:29:13 +00:00
ceriel 4c4b47a902 util/ceg/as_parser also uses lex 1989-10-16 09:53:04 +00:00
ceriel b759fb2438 fixed typo 1989-10-13 09:22:53 +00:00