[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] patch-50 successfully compiled on debian sarge
From: |
Gabriel Dos Reis |
Subject: |
Re: [Axiom-developer] patch-50 successfully compiled on debian sarge |
Date: |
01 Sep 2006 10:04:21 -0500 |
root <address@hidden> writes:
| > Axiom golden and sylver don't support non-in-source
| > build (which is is a realy bummer)
|
| they don't?
No, they don't. I just repeated this for illustration. Try it on
your machine.
% cd src/axiom.trunk-tla
% tla update
[...]
% cd ~/build/
% mkdir trunk-tla
% ~/src/axiom.trunk-tla/configure --prefix=$HOME
Linux
===================================================
You must set your AXIOM and PATH variables. Type:
To build the rest of the system type:
export AXIOM=/home/gdr/build/mnt/linux
export PATH=$AXIOM/bin:$PATH
make
configure finished.
% export AXIOM=/home/gdr/build/mnt/linux
% export PATH=$AXIOM/bin:$PATH
% make
make: *** No targets specified and no makefile found. Stop.
| the source tree is read-only (or is intended to be).
That is the _intent_, but NOT the actual reality.
Compare with this
% cd build
% mkdir b-i && cd b-i
% /media/usbdisk_2/cas/axiom/2006-08-30.b-i/configure --prefix=$HOME
[...]
% make
AXIOM=/home/gdr/build/b-i/mnt/linux; export AXIOM;
PATH=/home/gdr/build/b-i/mnt/linux/bin:${PATH}; make do-all
make[1]: Entering directory `/home/gdr/build/b-i'
0 SPAD=/home/gdr/build/b-i/mnt/linux SYS=linux SPD=/home/gdr/build/b-i
LSP=/home/gdr/build/b-i/lsp GCLDIR=/home/gdr/build/b-i/lsp/gcl-system
SRC=/home/gdr/build/b-i/src INT=/home/gdr/build/b-i/int
OBJ=/home/gdr/build/b-i/obj MNT=/home/gdr/build/b-i/mnt
ZIPS=/home/gdr/build/b-i/zips TMP=/home/gdr/build/b-i/obj/tmp
SPADBIN=/home/gdr/build/b-i/mnt/linux/bin INC=/home/gdr/build/b-i/src/include
CCLBASE=/home/gdr/build/b-i/obj/linux/ccl/ccllisp PART=cprogs
SUBPART=everything NOISE=-o /home/gdr/build/b-i/obj/tmp/trace
GCLVERSION=gcl-system VERSION=Axiom (build improvements branch) -- 2006-08-28
DOCUMENT=/home/gdr/build/b-i/build/scripts/document
[... so on...]
The sources live in a different place and the build happens
elsewhere. The objects for the build, host and target are separated.
| src is all of the original (human-generated) source.
| int is a cache of (machine-independent, machine-generated) source
| obj is a cache of (machine-dependent, machine-generated) binary
| mnt is the ship system and should be the only thing needed to run
I understand that division but it is setting up a very non-standard build
process that does not even match the intents.
| if you want the other directories to show up elsewhere just use
| a symbolic link.
A simple symbolic link does NOT work. You have to do something
equivalent to the lndir trick I documented.
Axiom would gain lot by not building a ghetto around itself.
-- Gaby