From: David G. <dg...@co...> - 2006-07-22 21:37:14
|
Well, the mailing list seems to have come to life again --- not sure what= happened; I think SF's servers went mad. I suspect that the current discu= ssion will continue to dribble in a fairly disjointed manner for some hours yet= =2E I'd just like to say that, enthusiasm renewed, I've managed to get the ne= w build system up and running in head of CVS. (I did actually post a few da= ys ago with an earlier update, but it seems to have gotten lost.) What you g= et is: * The ANSI & K&R C compilers * The Pascal compiler * Backends for most platforms (except Sparc related) * All the optimisers (global, peephole, target) * A reasonable collection of utilities, including the linker and libraria= n What you *don't* get are any run-time libraries, so you can't actually us= e it for generated real code yet, but it's perfectly suitable for experimentin= g with the code generators. I'll reemphasise that this is not a release; it= 's just a point where head of CVS happens to build. Plus, I got it all building on NetBSD as well as Linux (although I'm havi= ng to do 'ulimit -n 256' on SF's build farm to make it build). If you want to use this, then: * You will need to install LLgen 1.0.2 off the website (this is now built= separately). * Check out head of CVS via anonymous CVS. * Do: ./pm configure * Do: ./pm * Wait. pm is Prime Mover, which has its own project on pm.sf.net (currently just= an SVN repository). It still has bugs and it's undocumented, but it's workin= g rather well, if I say so myself, and is *far* more straightforward to use= than the ACK's old build system. Its steering files are called 'pmfile'. It's currently set up to build everything into /tmp/ack-temp/staging. Eventually, this will get copied out to a destination install directory, = but for now the ACK is configured to run from there. So, you can compile a C program with: cat > test.c <<EOF extern int printf(const char* format, ...); int main(int argc, char* argv[]) { printf("Hello, world!\n"); return 0; } EOF /tmp/ack-temp/staging/bin/ack -v -O6 -ansi test.c -mi386 -c.s =2E..and a Pascal program with: cat > test.p <<EOF program test(output); begin writeln('Hello, world!') end. EOF /tmp/ack-temp/staging/bin/ack -v -O6 test.p -mi386 -c.s (If you get errors when trying different architectures, such as ARM, it's= probably because noone's gotten round to writing a global optimiser description file yet (see util/ego/descr). Try -O1.) Maybe I should try Occam next... --=20 +- David Given --McQ-+ "Gaping from its single obling socket was | dg...@co... | scintillating, many fauceted scarlet emerald..." | (dg...@ta...) | --- Jim Theis, _The Eye of Argon_ (spelling +- www.cowlark.com --+ original) |