[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] 20081222.01.tpd.patch (algebra/Makefile add clique mec
From: |
daly |
Subject: |
[Axiom-developer] 20081222.01.tpd.patch (algebra/Makefile add clique mechanism) |
Date: |
Tue, 23 Dec 2008 04:49:23 -0600 |
The clique mechanism solves mutual dependencies in source files
======================================================================
diff --git a/changelog b/changelog
index fcdd260..3911cc9 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20081222 tpd src/axiom-website/patches.html 20081222.01.tpd.patch
+20081222 tpd src/algebra/Makefile add clique mechanism
20081221 tpd src/axiom-website/patches.html 20081221.01.tpd.patch
20081221 tpd readme add Gorka quote
20081221 tpd src/axiom-website/download.html XTerm*metaSendsEscape: true
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index e15ac4b..ae238bd 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -878,7 +878,7 @@ LAYER20=\
${OUT}/INTHERAL.o ${OUT}/INTPAF.o ${OUT}/INTPM.o ${OUT}/INTTOOLS.o \
${OUT}/ITRIGMNP.o ${OUT}/JORDAN.o ${OUT}/KOVACIC.o ${OUT}/LF.o \
${OUT}/LIE.o ${OUT}/LODOF.o ${OUT}/LSQM.o ${OUT}/OMEXPR.o \
- ${OUT}/MCMPLX.o ${OUT}/MULTFACT.o ${OUT}/MYEXPR.o \
+ ${OUT}/MCMPLX.o ${OUT}/MULTFACT.o ${MID}/clique1.spad \
${OUT}/NAGD01.o ${OUT}/NAGD02.o \
${OUT}/NAGF01.o ${OUT}/NAGF02.o ${OUT}/NAGF04.o ${OUT}/NCEP.o \
${OUT}/NLINSOL.o ${OUT}/NSMP.o ${OUT}/NUMERIC.o ${OUT}/OCT.o \
@@ -932,7 +932,6 @@ LAYER21=\
${OUT}/FDIV.o ${OUT}/FSCINT.o ${OUT}/FSINT.o ${OUT}/FS2EXPXP.o \
${OUT}/GSERIES.o ${OUT}/HELLFDIV.o ${OUT}/INVLAPLA.o ${OUT}/IR2F.o \
${OUT}/IRRF2F.o ${OUT}/LAPLACE.o ${OUT}/LIMITPS.o ${OUT}/LODEEF.o \
- ${OUT}/MYUP.o \
${OUT}/NODE1.o ${OUT}/ODECONST.o ${OUT}/ODEINT.o ${OUT}/RECOP.o \
${OUT}/REP.o \
${OUT}/SOLVERAD.o ${OUT}/SULS.o ${OUT}/SUPXS.o ${OUT}/UFPS1.o \
@@ -1024,6 +1023,29 @@ ORDER=\
${LAYER22} ${LAYER23} ${LAYER24} ${USERLAYER} ${LAYER0COPY}
@
+\section{Cliques}
+The algebra code sometimes have circular references. The compiler can
+resolve these references directly if all of the required sources
+are in the same source file.
+
+So the idea to remove the BOOTSTRAP code is to cluster the spad
+sources into "cliqueN.spad" files and feed them all to the compiler
+at once.
+<<newcode>>=
+CLIQUE1DEPS = ${MID}/MYUP.spad ${MID}/MYEXPR.spad
+
+${MID}/clique1.spad: ${CLIQUE1DEPS}
+ @echo cl1 making ${OUT}/MYUP.o from ${MID}/clique1.spad
+ @echo cl1 making ${OUT}/MYEXPR.o from ${MID}/clique1.spad
+ @ (cd ${MID} ; \
+ cat ${CLIQUE1DEPS} >clique1.spad ; \
+ if [ -z "${NOISE}" ] ; then \
+ echo ")co clique1.spad" | ${INTERPSYS} ; \
+ else \
+ echo ")co clique1.spad" | ${INTERPSYS} >${TMP}/trace ; \
+ fi )
+
+@
\section{New Algebra dependencies}
New algebra files can depend on new algebra files. Since these files
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 16f1537..c42abc6 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -823,6 +823,8 @@ add guess package<br/>
Float has exp: Float -> Float<br/>
<a href="patches/20081221.01.wxh.patch">20081221.01.wxh.patch</a>
bookvol10.3 add domains<br/>
+<a href="patches/20081222.01.tpd.patch">20081222.01.tpd.patch</a>
+algebra/Makefile add clique mechanism<br/>
</body>
</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] 20081222.01.tpd.patch (algebra/Makefile add clique mechanism),
daly <=