[Top][All Lists]

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

Re: [Axiom-developer] Building Axiom twice

From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Building Axiom twice
Date: 22 Nov 2006 16:23:37 +0100

Waldek Hebisch <address@hidden> writes:

| The patch below eliminates the second build of Axiom and switches
| tests to use AXIOMsys.  I also changed creation of target directories
| to make it more logical. 
| Remark1: We probably should make target directories at before starting
| the proper build.  ATM we depend on previous stages to create target
| directories which is error prone when we change build order -- in the
| patch below I tried to create target directories when needed, but
| this gets messy very quickly.


| Remark2. From my point of view the stamp stuff in the main Makefile
| is not doing anything usefull,

Could you clarify what you mean by this?


| Remark3. For readability I removed diffs to generated files.

That is OK.

| Remark4. ATM I can not test the patch properly, due to test breakage
| on build-improvements that I reported earlier.

I'm still trying to understand what you're reporting.  The
trouble is I don't understand it enough to know what the problem and
what I should be looking for.

| diff -ru 
| ---   2006-11-21 00:10:38.000000000 
| +++ build-improvements/Makefile.pamphlet      2006-11-21 02:27:34.000000000 
| @@ -263,10 +263,6 @@
|  all-recursive: @axiom_required_build_utils@
|  all-ax:
| -     @ echo 1 making a ${SYS} system, PART=${PART} SUBPART=${SUBPART}
| -     @ echo 2 Environment ${ENV}
| -     @ $(MAKE) stamp-rootdirs
| -     @ ${ENV} $(MAKE) $(src_stamp)
|       @echo 3 finished system build on `date` | tee >lastBuildDate


|  all-bootsys: $(lsp_stamp)
| @@ -279,9 +275,6 @@
|  <<noweb>>
|  <<install>>
| -$(src_stamp): $(lsp_stamp)
| -     cd $(build_srcdir) && $(ENV) $(MAKE)
| -



| -\section{Building SAVESYS and AXIOMSYS}
| +\section{Building SAVESYS}

If I understand the logic of the original makefile correctly, there
seems to be a distinction between the image used at compile time, and
the image installed for user consumption.  [Except that that
distinction was never actually implemented, neither in full nor
correctly. ]  Whether that distinction makes sense is something that
needs exploring before we start removing things.  I must confess that
two days ago, I did try a removal of interpsys in one of my local
tree, until I realized that there was an unfinished plan.

My understanding is this:  there is an Axiom image (interpsys) used at
compile time; think of as the image the build machine needs to drive
the compilation.  One of the purpose of such image is for example, to
build some of the algebra needed to build the installed image.  Once
that image is built, with database and all of that, a second build
should be fired up to build the "real" Axiom image.  The one that the
user really cares about.

What is wrong is that the testsuite is run with the compile time image
instead of the one user cares about.

After I saw that, I decided not to remove interpsys, but to write down
what the build flow should.  We need that chart.

reply via email to

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