[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

  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

  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 
[... 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]