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. +<>= +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
Float has exp: Float -> Float
20081221.01.wxh.patch bookvol10.3 add domains
+20081222.01.tpd.patch +algebra/Makefile add clique mechanism