axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Nightly build


From: root
Subject: Re: [Axiom-developer] Nightly build
Date: Sun, 19 Dec 2004 03:31:29 -0500

The AXIOM variable is used at 2 different times, during make and
during execution.

===================================================================

First, lets look at the make case:

The build process needs to know 2 things. It needs to know where
the axiom sources are. It needs to know what kind of system to build.
Both of these pieces of information are in the AXIOM shell variable.

Suppose you download axiom into /tmp/axiom and 
you want to build a linux system. 
The AXIOM shell variable would be set to:

export AXIOM=/tmp/axiom/mnt/linux
             ^^^^^^^^^^
             where          ^^^^^
                            what

when the make starts it looks for where it will find the sources and
gets /tmp/axiom. It next looks for what kind of system to build and
gets linux.

Now if we look at the environment variables from your build we see:
SPAD=/tmp/axiom/mnt/ 
SYS= 
SPD=/tmp/axiom 
LSP=/tmp/axiom/lsp 
GCLDIR=/tmp/axiom/lsp/gcl-2.6.5 SRC=/tmp/axiom/src 
INT=/tmp/axiom/int 
OBJ=/tmp/axiom/obj 
MNT=/tmp/axiom/mnt 
ZIPS=/tmp/axiom/zips 
TMP=/tmp/axiom/obj/tmp 
SPADBIN=/tmp/axiom/mnt//bin 
INC=/tmp/axiom/src/include 
CCLBASE=/tmp/axiom/obj//ccl/ccllisp 
PART=cprogs 
SUBPART=everything 
NOISE=-o /tmp/axiom/obj/tmp/trace 
GCLVERSION=gcl-2.6.5 
TANGLE=/tmp/axiom/mnt//bin/lib/notangle

and, ignoring the irrelevant ones:

In the top level makefile we see:

SPD=$(shell pwd)

which means that SPD will be the current working directory. 
It got set to:

SPD=/tmp/axiom

which is correct.

Next in the Makefile we see:

SYS=$(notdir $(AXIOM))

which got set to:

SYS= 

which is NOT correct. It should have been 

SYS=linux

so from this information we can figure out that your AXIOM variable
was set to:

AXIOM=/tmp/axiom

which is wrong. It should have been:

AXIOM=/tmp/axiom/mnt/linux

===================================================================



Second, the AXIOM variable is used at runtime to tell axiom where
it lives. When you build an axiom system everything that is important
and worth keeping lives under the mnt subdirectory. So to "install"
an Axiom system into /usr/local/axiom, for example, you need only
copy the mnt subdirectory thus:

mkdir /usr/local/axiom
cd /tmp/axiom
cp -pr mnt /usr/local/axiom

Now that we've done that we can remove the whole axiom directory
from /tmp because it is no longer needed. 

However, in order to run Axiom we need 2 pieces of information.
First, we have to tell Axiom where it now lives and second, we
have to put the commands on our path so they can be found. So,
since we installed axiom into /usr/local/axiom we need:

export AXIOM=/usr/local/axiom/mnt/linux
export PATH=$AXIOM/bin:$PATH

The AXIOM shell variable tells axiom where to find itself.
The PATH shell variable tells linux where to find executables.





reply via email to

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