diff --git a/Makefile.pamphlet b/Makefile.pamphlet index bae550e..18105ad 100644 --- a/Makefile.pamphlet +++ b/Makefile.pamphlet @@ -751,6 +751,7 @@ forget to erase the lsp/Makefile the wrong patches will be applied. #GCLVERSION=gcl-2.6.7 GCLVERSION=gcl-2.6.8pre #GCLVERSION=gcl-2.6.8pre2 +#GCLVERSION=gcl-2.6.8pre3 @ \subsubsection{The [[GCLOPTS]] configure variable} @@ -1508,6 +1509,52 @@ all: rootdirs noweb srcsetup lspdir srcdir <> @ +\subsection{Makefile.ubuntu64} +<>= +# System dependent Makefile for the Intel/Linux platform +# Platform variable +PLF=LINUXplatform +# C compiler flags +CCF="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} -I/usr/X11/include" +# Loader flags +LDF=" -L/usr/X11R6/lib -L/usr/lib ${XLIB}/libXpm.a " +# C compiler to use +CC=gcc +AWK=gawk +RANLIB=ranlib +TOUCH=touch +TAR=tar +AXIOMXLROOT=${AXIOM}/compiler +O=o +BYE=bye +LISP=lsp +DAASE=${SRC}/share +# where the libXpm.a library lives +XLIB=/usr/lib +<> +<> +PATCH=patch + +ENV=PLF=${PLF} CCF=${CCF} LDF=${LDF} CC=${CC} AWK=${AWK} RANLIB=${RANLIB} \ + TOUCH=${TOUCH} TAR=${TAR} AXIOMXLROOT=${AXIOMXLROOT} O=${O} BYE=${BYE} \ + LISP=${LISP} DAASE=${DAASE} XLIB=${XLIB} GCLOPTS=${GCLOPTS} \ + SRCDIRS=${SRCDIRS} PATCH=${PATCH} + +all: rootdirs noweb srcsetup lspdir srcdir + @echo 45 Makefile.linux called + @echo 46 Environment : ${ENV} + @echo 47 finished system build on `date` | tee >lastBuildDate + +<> +<> +<> +<> +<> +<> +<> +<> + +@ \subsection{Makefile.macosxppc} <>= # System dependent Makefile for the MAC/BSD platform diff --git a/changelog b/changelog index 7552f27..160ae63 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,21 @@ +20081122 tpd zips/gcl-2.6.8pre3.unixport.makefile.patch added +20081122 tpd zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch added +20081122 tpd zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch added +20081122 tpd zips/gcl-2.6.8pre3.configure.in.patch added +20081122 tpd zips/gcl-2.6.8pre3.configure.patch added +20081122 tpd zips/gcl-2.6.8pre3.h.linux.defs.patch added +20081122 tpd zips/gcl-2.6.8pre3.tgz added +20081122 tpd lsp/Makefile add gcl-2.6.8pre3 chunks +20081122 tpd src/input/Makefile fix parallel race condition. don't rm files. +20081122 tpd Makefile add ubuntu64 chunk +20081121 tpd src/algebra/Makefile remove annacat.spad +20081121 tpd src/algebra/annacat.spad move domains to bookvol10.3, delete +20081121 tpd src/algebra/alql.spad move domains to bookvol10.3 +20081121 tpd src/algebra/Makefile remove algext.spad +20081121 tpd src/algebra/algext.spad move domains to bookvol10.3, delete +20081121 tpd src/algebra/acplot.spad move domains to bookvol10.3 +20081119 tpd src/input/Makefile fix parallel test +20081119 tpd books/Makefile.pamphlet add toc entries for toc.pdf 20081119 tpd Makefile modify VERSION number for release 20081119 tpd Makefile.pamphlet modify VERSION number for release 20081119 tpd books/ps/v71releasenotes.eps modified for november 2008 release diff --git a/lsp/Makefile.pamphlet b/lsp/Makefile.pamphlet index 63618c7..0743ff6 100644 --- a/lsp/Makefile.pamphlet +++ b/lsp/Makefile.pamphlet @@ -209,6 +209,14 @@ but, since no initialization is needed, we simply create empty files. touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \ touch ${OBJ}/${SYS}/lib/sockio-c.ini ) @ +<>= + @(cd ${GCLVERSION}/h ; \ + echo 3 applying EXTRAS patch to h/linux.defs ; \ + ${PATCH} <${SPD}/zips/${GCLVERSION}.h.linux.defs.patch ) + @(echo 4 setup ini files for EXTRAS patch ; \ + touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \ + touch ${OBJ}/${SYS}/lib/sockio-c.ini ) +@ \subsubsection{fortran patch} Communication over sockets (basically to the NAG fortran library) requires us to have XDR enabled. @@ -290,6 +298,11 @@ The for-loop change has been included in the sources. echo 6 applying libspad.a patch to unixport/makefile ; \ ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.makefile.patch ) @ +<>= + @(cd ${GCLVERSION}/unixport ; \ + echo 6 applying libspad.a patch to unixport/makefile ; \ + ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.makefile.patch ) +@ \subsubsection{toploop patch} This patch turns off the banner display every time GCL starts. We could use the -batch flag but that would be a pervasive change. @@ -353,6 +366,11 @@ for the compiler will be. We eliminate this noise as well as the banner. echo 7 applying toploop patch to unixport/init_gcl.lsp ; \ ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.init_gcl.lsp.in.patch ) @ +<>= + @(cd ${GCLVERSION}/unixport ; \ + echo 7 applying toploop patch to unixport/init_gcl.lsp ; \ + ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.init_gcl.lsp.in.patch ) +@ \subsubsection{object to float patch} GCL 2.5.2 contains no reference to this function and it was removed. Axiom uses this function so we re-implement it here. @@ -569,6 +587,14 @@ file contains the proclaims for GCL's function definitions. echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \ cp sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ) @ +<>= + @(cd ${GCLVERSION}/cmpnew ; \ + echo 26 copy gcl_collectfn.lsp to ${OBJ}/${SYS}/lsp/collectfn.lsp ; \ + cp gcl_collectfn.lsp ${OBJ}/${SYS}/lsp/collectfn.lsp ) + @(cd ${GCLVERSION}/lsp ; \ + echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ; \ + cp sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp ) +@ \subsection{The GCL-2.5.2 stanza} \subsubsection{Configure and Make GCL} We enable several features of GCL. @@ -1178,6 +1204,47 @@ clean: @( cd ccl ; ${ENV} ${MAKE} clean ) @ +\subsection{The GCL-2.6.8pre3 stanza} +This stanza will be written when the GCLVERSION variable is +``gcl-2.6.8pre3''. It will overwrite the default version. See the +top level Makefile.pamphlet. +<>= +# gcl version 2.6.8pre3 +OUT=${OBJ}/${SYS}/bin + +all: + @echo 1 building ${LSP} ${GCLVERSION} + +gcldir: + @echo 2 building ${GCLVERSION} + @tar -zxf ${ZIPS}/${GCLVERSION}.tgz +<> +<> +<> +<> +<> + @echo 13 finished system build on `date` | tee >gcldir + +ccldir: ${LSP}/ccl/Makefile + @echo 14 building CCL + @mkdir -p ${INT}/ccl + @mkdir -p ${OBJ}/${SYS}/ccl + @( cd ccl ; ${ENV} ${MAKE} ) + +${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet + @echo 15 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet + @( cd ccl ; ${DOCUMENT} ${NOISE} Makefile ) + +document: + @echo 16 making docs in ${LSP} + @mkdir -p ${INT}/doc/lsp/ccl + @( cd ccl ; ${ENV} ${MAKE} document ) + +clean: + @echo 17 cleaning ${LSP}/ccl + @( cd ccl ; ${ENV} ${MAKE} clean ) + +@ \section{Gnu Common Lisp 2.5} GCL 2.5 requires a different Makefile. In particular, GCL 2.5 has a different method of building the lisp image. And, just to diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index f8620d9..0d3b6b7 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -398,21 +398,24 @@ The curious use of {\tt egrep} in the pipeline is to remove the spurious differences caused by the Version and Timestamp lines in the standard Axiom banner. These cause mismatches in otherwise identical output. + +The input files are not removed because this parallel builds +create race conditions. <>= %.output: %.input - @ echo running test file $* using $*${TMPFN}.input - @ echo ')set message test on' > $*${TMPFN}.input - @ echo ')set message auto off' >> $*${TMPFN}.input - @ echo ')read $*' >> $*${TMPFN}.input - @ echo ')lisp (bye)' >> $*${TMPFN}.input + @ echo generic 17 running test file $* using $*.input + @ echo ')set message test on' > $*.input + @ echo ')set message auto off' >> $*.input + @ echo ')read $*' >> $*.input + @ echo ')lisp (bye)' >> $*.input @ if [ -z "${NOISE}" ] ; then \ - echo ")read $*${TMPFN}.input" | ${TESTSYS} \ + echo ")read $*.input" | ${TESTSYS} \ | egrep -v '(Timestamp|Version)' | tee $*.output ; \ else \ - echo ")read $*${TMPFN}.input" | ${TESTSYS} \ + echo ")read $*.input" | ${TESTSYS} \ | egrep -v '(Timestamp|Version)' > $*.output ; \ fi - @ rm $*${TMPFN}.input +# @ rm $*.input @ A regression test file will run the input file. Each input file diff --git a/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch b/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch new file mode 100644 index 0000000..c2905ce --- /dev/null +++ b/zips/gcl-2.6.8pre3.cmpnew.gcl_cmpflet.lsp.patch @@ -0,0 +1,15 @@ +--- gcl_cmpflet.lsp Sun Jul 24 12:54:29 2005 ++++ gcl_cmpflet.lsp.tpd Sun Jul 24 13:44:18 2005 +@@ -390,8 +390,10 @@ + (wt-label *exit*)) + (unwind-no-exit 'tail-recursion-mark) + (wt-nl "goto TTL;") +- (cmpnote "Tail-recursive call of ~s was replaced by iteration." +- (fun-name (car fd)))) ++; 20031022000 tpd we don't need to know this ++; (cmpnote "Tail-recursive call of ~s was replaced by iteration." ++; (fun-name (car fd))) ++ ) + (t (push-args args) + (wt-nl (c-function-name "L" (fun-cfun (car fd)) (fun-name (car fd))) "(") + (dotimes** (n (fun-level (car fd))) (wt "base" n ",")) diff --git a/zips/gcl-2.6.8pre3.configure.in.patch b/zips/gcl-2.6.8pre3.configure.in.patch new file mode 100644 index 0000000..fd4e8c1 --- /dev/null +++ b/zips/gcl-2.6.8pre3.configure.in.patch @@ -0,0 +1,11 @@ +--- configure.in Sat Jan 15 14:17:17 2005 ++++ configure.in.tpd Tue Jan 17 09:32:15 2006 +@@ -538,7 +538,7 @@ + # results, and the version is kept in special file). + + if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then +- system=MP-RAS-`${AWK} '{print $3}' /etc/.relid'` ++ system=MP-RAS-`${AWK} '{print $3}' '/etc/.relid'` + fi + if test "`uname -s`" = "AIX" ; then + system=AIX-`uname -v`.`uname -r` diff --git a/zips/gcl-2.6.8pre3.configure.patch b/zips/gcl-2.6.8pre3.configure.patch new file mode 100644 index 0000000..131a382 --- /dev/null +++ b/zips/gcl-2.6.8pre3.configure.patch @@ -0,0 +1,11 @@ +--- configure Sat Jan 15 14:17:17 2005 ++++ configure.tpd Sun Apr 16 23:12:48 2006 +@@ -6187,7 +6187,7 @@ + echo "configure:6188: checking emacs site lisp directory" >&5 + if [ "$EMACS_SITE_LISP" = "unknown" ] ; then + if [ "$EMACS" != "" ] ; then +- EMACS_SITE_LISP=`$EMACS -q -batch --no-site-file -l conftest.el 2>&1 | sed -e /Loading/d | sed -e /load/d ` ++ EMACS_SITE_LISP=`$EMACS -q -batch --no-site-file -l conftest.el 2>&1 | grep -v ^Warning: | sed -e /Loading/d | sed -e /load/d ` + else + EMACS_SITE_LISP="" + fi diff --git a/zips/gcl-2.6.8pre3.h.linux.defs.patch b/zips/gcl-2.6.8pre3.h.linux.defs.patch new file mode 100644 index 0000000..fdefaff --- /dev/null +++ b/zips/gcl-2.6.8pre3.h.linux.defs.patch @@ -0,0 +1,13 @@ +--- linux.defs Sun Jul 24 12:55:14 2005 ++++ linux.defs.tpd Sun Jul 24 13:55:26 2005 +@@ -8,6 +8,10 @@ + + # Machine dependent makefile definitions for intel 386,486 running linux + ++# 20031022000 tpd link Axiom's code into the image ++EXTRAS = ${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ++OFLAG = -O ++ + LBINDIR=/usr/local/bin + + #OFLAG = -g -Wall diff --git a/zips/gcl-2.6.8pre3.tgz b/zips/gcl-2.6.8pre3.tgz new file mode 100644 index 0000000..93c17d8 Binary files /dev/null and b/zips/gcl-2.6.8pre3.tgz differ diff --git a/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch b/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch new file mode 100644 index 0000000..0828565 --- /dev/null +++ b/zips/gcl-2.6.8pre3.unixport.init_gcl.lsp.in.patch @@ -0,0 +1,11 @@ +--- init_gcl.lsp.in 2008-11-22 05:33:51.000000000 -0500 ++++ init_gcl.lsp.in.new 2008-11-22 05:34:00.000000000 -0500 +@@ -85,7 +85,7 @@ + (cond ((si::get-command-arg "-batch") + (setq si::*top-level-hook* 'bye)) + ((si::get-command-arg "-f")) +- (t (format t si::*system-banner*) ++ (t ;(format t si::*system-banner*) + (format t "Temporary directory for compiler files set to ~a~%" *tmp-dir*))) + (setq si::*ihs-top* 1) + (in-package 'system::user) (incf system::*ihs-top* 2) diff --git a/zips/gcl-2.6.8pre3.unixport.makefile.patch b/zips/gcl-2.6.8pre3.unixport.makefile.patch new file mode 100644 index 0000000..56ed9a4 --- /dev/null +++ b/zips/gcl-2.6.8pre3.unixport.makefile.patch @@ -0,0 +1,12 @@ +--- makefile Sun Jul 24 12:55:39 2005 ++++ makefile.tpd Sun Jul 24 15:40:01 2005 +@@ -14,7 +14,8 @@ + PORTDIR = $(shell pwd) + + LD_LIBS_PRE=$(FIRST_FILE) $(addprefix -u ,$(PATCHED_SYMBOLS)) +-LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp $(LAST_FILE) ++# 20031022000 tpd link axiom's C library code ++LD_LIBS_POST=$(LIBS) $(LIBC) -lgclp ${OBJ}/${SYS}/lib/libspad.a $(LAST_FILE) + + ifeq ($(ARRS),) + ARRS:=ar rs