[Tack-devel] CVS & the new build system
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
From: David G. <dg...@co...> - 2006-07-21 13:51:16
|
Good news, everyone! Head of CVS builds with the new build system! On NetBSD, too. The build system uses a seperate tool wot I wrote called Prime Mover, which is a kind of make replacement designed for very complex dependency trees. It has its own SVN repository on pm.sf.net, but is deployed in the ACK and LLgen as a single shell script executable called pm; when deployed, it has no dependencies other than a C compiler called cc. This should in no way be considered a release, but it should be sufficiently complete to be useful for playing with. You get: C (ANSI & K&R), the full set of code generators and assemblers, opt, and the ack driver, and a few utilities. You can use it to compile code for the various targets, but there are no libraries or linkers yet. Prerequisites: you will first need to download and install LLgen 1.0.2 from the ACK website. To build the ACK: check out head-of-CVS of the ACK module. Look at and edit config.pm, although it shouldn't be necessary. Then do: =2E/pm configure =2E/pm (The configure stage should go away eventually.) (On the BSDs, I found I had to do 'ulimit -n 128' first, or else the build process would run out of file descriptors.) This will build everything that's done so far and put it all into a staging area, which by default is /tmp/ack-temp/staging; eventually this will be tarred up and copied to the destination installation directory, but for now it should be set up to run directly from there. (Repeating that last ./pm will do an incremental build.) To test: cd /tmp/ack-temp/staging cat >test.c <<EOF int foo(int i) { return i+1; } EOF bin/ack -v -O -ansi test.c -c.s -marm (Replace the -marm with -mi386, or -m6500, or -mm68020...) The build tool is currently still under development and so is rough around the edges and very undocumented --- it should smooth down eventually. Incidentally, NetBSD appears not to have an 'arch' command --- what's the portable equivalent? Its absence causes warnings to be generated by pm, although it still seems to work... --=20 +- David Given --McQ-+ "You cannot truly appreciate _Atlas Shrugged_ | dg...@co... | until you have read it in the original Klingon." | (dg...@ta...) | --- Sea Wasp on r.a.sf.w +- www.cowlark.com --+ |