I wrote:
> Concerning Windows build, attached you will find modified version
> of your patch (diff with respect to revision 517).
I forget to attach the patch, so I attach it to this mail.
--
Waldek Hebisch
[EMAIL PROTECTED]
diff -ru --exclude=.svn /home/s/test/tt/axiom2/wh-sandbox2/config/var-def.mk
wh-sandbox.bp3/config/var-def.mk
--- /home/s/test/tt/axiom2/wh-sandbox2/config/var-def.mk 2007-04-26
12:03:06.000000000 +0200
+++ wh-sandbox.bp3/config/var-def.mk 2007-04-27 13:19:25.000000000 +0200
@@ -66,11 +66,15 @@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
-LN_S = @LN_S@
+## FIXME: The test done with Autoconf-2.60 and later concludes
+## that "ln -s" is unusable on msys, and therefore defaults to
+## "cp -p", but that default is unusable for us. For our
+## purpose "ln -s" is just fine on that platform. Consequently
+## we are explicitly overrding that value here.
+LN_S = ln -s
mkinstalldirs = $(top_srcdir)/config/mkinstalldirs
PATCH = @PATCH@
RANLIB = @RANLIB@
-TAR = @TAR@
TOUCH = @TOUCH@
# The list of make targets made recursively, by walking sub-directories
@@ -145,6 +156,8 @@
## Where the staging build directory is found
AXIOM = @AXIOM@
export AXIOM
+BASE = @BASE@
+export BASE
## Where to find Axiom data bases.
DAASE = $(axiom_src_datadir)
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/configure.ac.pamphlet
wh-sandbox.bp3/configure.ac.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/configure.ac.pamphlet 2007-04-26
12:03:06.000000000 +0200
+++ wh-sandbox.bp3/configure.ac.pamphlet 2007-04-27 00:54:36.000000000
+0200
@@ -641,7 +639,7 @@
way to hard- or soft-link files.
<<file utils>>=
AC_PROG_INSTALL
-AC_PROG_LN_S
+# AC_PROG_LN_S
AC_CHECK_PROG([TOUCH], [touch],
[touch], [AC_MSG_ERROR(['touch' program is missing.])])
AC_CHECK_PROGS([MKTEMP], [mktemp])
@@ -950,8 +909,22 @@
pervasive way. That variable needs to be set before the
build start --- or else, it will fail.
+BASE contains the operating system root of the build environment.
+In the case of MSYS/MinGW build environment on Windows it is
+necessary that the AXIOM variable be a Windows absolute path.
+Therefore BASE is set to the MSYS root or otherwise empty.
+
<<define AXIOM>>=
-AXIOM=$axiom_targetdir
+case $host in
+ *mingw*)
+ BASE=`(cd /;pwd -W)`
+ ;;
+ *)
+ BASE=""
+ ;;
+esac
+AC_SUBST(BASE)
+AXIOM=${BASE}${axiom_targetdir}
AC_SUBST(AXIOM)
@
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/algebra/Makefile.pamphlet
wh-sandbox.bp3/src/algebra/Makefile.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/src/algebra/Makefile.pamphlet
2007-04-26 01:46:39.000000000 +0200
+++ wh-sandbox.bp3/src/algebra/Makefile.pamphlet 2007-04-27
00:54:21.000000000 +0200
@@ -376,8 +376,8 @@
for A in ${CATLIST} ; do \
echo ')compile "'$$A'.spad"' >> boo1.input ; \
done; \
- { echo ')read "boo1.input"' | \
- ${INTERPSYS} ${CTRACE} } || exit 1 ; \
+ ( echo ')read "boo1.input"' | \
+ ${INTERPSYS} ${CTRACE} ) || exit 1 ; \
echo "Stage 1 copy" ; \
for A in ${CATLIST} ; do \
cp $$A.NRLIB/code.$(FASLEXT) ${OUT}/$$A.$(FASLEXT) || exit 1 ; \
@@ -387,8 +387,8 @@
for A in ${CATLIST} ${DOMLIST} ; do \
echo ')compile "'$$A'.spad"' >> boo2.input ; \
done; \
- { echo ')read "boo2.input"' | \
- ${INTERPSYS} ${CTRACE} } || exit 1 ; \
+ ( echo ')read "boo2.input"' | \
+ ${INTERPSYS} ${CTRACE} ) || exit 1 ; \
echo "Stage 2 copy" ; \
for A in ${CATLIST} ${DOMLIST} ; do \
cp $$A.NRLIB/code.$(FASLEXT) ${OUT}/$$A.$(FASLEXT) || exit 1 ; \
@@ -400,8 +400,8 @@
for A in ${CATLIST} ${DOMLIST} ; do \
echo ')compile "'$$A'.spad"' >> boo3.input ; \
done; \
- { echo ')read "boo3.input"' | \
- ${INTERPSYS} ${CTRACE} } || exit 1 ; \
+ ( echo ')read "boo3.input"' | \
+ ${INTERPSYS} ${CTRACE} ) || exit 1 ; \
echo "Stage 3 object copy" ; \
for A in ${CATLIST} ${DOMLIST} ; do \
cp $$A.NRLIB/code.$(FASLEXT) ${OUT}/$$A.$(FASLEXT) || exit 1 ; \
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/interp/Makefile.pamphlet
wh-sandbox.bp3/src/interp/Makefile.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/src/interp/Makefile.pamphlet
2007-04-23 11:04:39.000000000 +0200
+++ wh-sandbox.bp3/src/interp/Makefile.pamphlet 2007-04-27 13:07:14.000000000
+0200
@@ -39,7 +39,6 @@
in the \File{\$(axiom_target_docdir)/src/interp/} directory.
<<environment>>=
-MID=${INT}/interp
DOC=$(axiom_target_docdir)/src/interp
BOOK=$(axiom_target_docdir)
@@ -518,7 +517,7 @@
In order for this information to be used during compiles we define
<<environment>>=
-PROCLAIMS=(progn (load "sys-pkg.lisp") (load
"$(abs_srcdir)/interp-proclaims.lisp"))
+PROCLAIMS=(progn (load "sys-pkg.lisp") (load
"$(srcdir)/interp-proclaims.lisp"))
@
@@ -979,7 +978,6 @@
@ echo PART= ${PART}
@ echo SRC= $(axiom_src_srcdir)
@ echo INT= ${INT}
- @ echo MID= ${MID}
@ echo LISP=${LISP} BYE=${BYE}
$(mkinstalldirs) $(axiom_target_datadir)/msgs
$(INSTALL_DATA) $(axiom_src_docdir)/msgs/s2-us.msgs \
@@ -991,10 +989,10 @@
@ echo '(in-package "BOOT")' >> makeint.lisp
@ touch ${TIMESTAMP}
@ echo '${YEARWEEK}' >> makeint.lisp
- @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS})))
(quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%",
${INOBJS})))) (quote ($(patsubst %, "%", ${OPOBJS}))) (quote ($(patsubst %,
"%", ${OCOBJS}))) (quote ($(patsubst %, "%", ${BROBJS}))) (quote ($(patsubst %,
"%", ${TRANOBJS}))) (quote ($(patsubst %, "%", ${NAGBROBJS}))) (quote
($(patsubst %, "%", ${ASAUTO}))) "${AXIOM}")' >> makeint.lisp
+ @ echo '(build-interpsys (append (quote ($(patsubst %, "%", ${OBJS})))
(quote ($(patsubst %, "%", ${ASCOMP}))) (quote ($(patsubst %, "%",
${INOBJS})))) (quote ($(patsubst %, "$(BASE)%", ${OPOBJS}))) (quote ($(patsubst
%, "$(BASE)%", ${OCOBJS}))) (quote ($(patsubst %, "$(BASE)%", ${BROBJS})))
(quote ($(patsubst %, "$(BASE)%", ${TRANOBJS}))) (quote ($(patsubst %,
"$(BASE)%", ${NAGBROBJS}))) (quote ($(patsubst %, "$(BASE)%", ${ASAUTO})))
"${AXIOM}")' >> makeint.lisp
@ echo '(boot::set-restart-hook)' >> makeint.lisp
@ echo '(in-package "BOOT")' >> makeint.lisp
- @ echo '(load "${INT}/algebra/warm.data")' >> makeint.lisp
+ @ echo '(load "$(BASE)${INT}/algebra/warm.data")' >> makeint.lisp
@ echo '(|clearClams|)' >> makeint.lisp
@ echo '(load "obey")' >> makeint.lisp
@ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >>
makeint.lisp
@@ -1025,7 +1023,7 @@
@echo '(progn (gbc t) (load "makeint.lisp") (gbc t)' \
'#+:gcl(setf compiler::*default-system-p* nil)' \
'#+:gcl(compiler::emit-fn nil)' \
- '(user::spad-save "$@"))' | DAASE=$(axiom_targetdir) ${LISPSYS}
+ '(user::spad-save "$@"))' | DAASE="$(BASE)$(axiom_targetdir)"
${LISPSYS}
@ echo 6a ${AXIOMSYS} created
@
@@ -1034,9 +1032,9 @@
files are known to exist and be up to date. We don't list any of
the preconditions here.
<<debugsys>>=
-${DEBUGSYS}: ${MID}/debugsys.lisp
+${DEBUGSYS}: debugsys.lisp
@ echo 7 building debugsys
- @ echo '(progn (gbc t) (load "${MID}/debugsys.lisp") (user::spad-save
"$@"))' | ${LISPSYS}
+ @ echo '(progn (gbc t) (load "debugsys.lisp") (user::spad-save "$@"))'
| ${LISPSYS}
@ echo 8 ${DEBUGSYS} created
@
@@ -1108,27 +1106,29 @@
template termrw topics trace
$(addsuffix .$(FASLEXT), $(IN_from_MID)): \
- %.$(FASLEXT) : $(MID)/%.clisp
- @ echo 10 making $@ from $<
- @ ( B=`pwd`;\
+ %.$(FASLEXT) : %.clisp
+ @ echo 10a making $@ from $< # hack 1 by Bill Page
+ # avoid paths in file names for Windows compatibility
+ @ (\
if [ -z "${NOISE}" ] ; then \
- echo '(progn (compile-file "$<" :output-file "'$$B/'$@") (${BYE}))'
| ${DEPSYS} ; \
+ echo '(progn (compile-file "$<" :output-file "$@") (${BYE}))' |
${DEPSYS} ; \
else \
- echo '(progn (compile-file "$<" :output-file "'$$B/'$@") (${BYE}))'
| ${DEPSYS} >> ${TMP}/trace ; \
- fi )
+ echo '(progn (compile-file "$<" :output-file "$@") (${BYE}))' |
${DEPSYS} >> ${TMP}/trace ; \
+ fi ; )
AUTO_from_MID=\
mark pspad1 pspad2 wi1 wi2
$(addprefix $(AUTO)/, $(addsuffix .$(FASLEXT), $(AUTO_from_MID))): \
- $(AUTO)/%.$(FASLEXT) : $(MID)/%.clisp
- @ echo 10 making $@ from $<
- @ (cd ${MID} ; \
+ $(AUTO)/%.$(FASLEXT) : %.clisp
+ @ echo 10b making $@ from $< # hack 2 by Bill Page
+ @ ( \
if [ -z "${NOISE}" ] ; then \
- echo '(progn (compile-file "$<" :output-file "$@") (${BYE}))' |
${DEPSYS} ; \
+ echo '(progn (compile-file "$<" :output-file "$(notdir $@)")
(${BYE}))' | ${DEPSYS} ; \
else \
- echo '(progn (compile-file "$<" :output-file "$@") (${BYE}))' |
${DEPSYS} >> ${TMP}/trace ; \
- fi )
+ echo '(progn (compile-file "$<" :output-file "$(notdir $@)")
(${BYE}))' | ${DEPSYS} >> ${TMP}/trace ; \
+ fi ; )
+ @ mv "$(notdir $@)" $@
MID_from_IN=\
apply as ax bc-matrix bc-misc bc-solve bc-util br-con br-data \
@@ -1145,11 +1145,10 @@
pspad2 record rulesets server setvars setvart simpbool template \
termrw topics trace wi1 wi2
-$(addprefix $(MID)/, $(addsuffix .clisp, $(MID_from_IN))): \
- $(MID)/%.clisp : $(srcdir)/%.boot.pamphlet
+$(addsuffix .clisp, $(MID_from_IN)): \
+ %.clisp : $(srcdir)/%.boot.pamphlet
@ echo 11 making $@ from $<
- @( $(axiom_build_document) --tangle --output=$(MID)/$*.boot $<; \
- cd ${MID} ; \
+ ( $(axiom_build_document) --tangle --output=$*.boot $<; \
if [ -z "${NOISE}" ] ; then \
echo '(progn (boottran::boottocl "$*.boot") (${BYE}))' | ${DEPSYS} ;
\
else \
@@ -1172,7 +1171,7 @@
We simply captured that temporary file, replaced the .o files with .lisp
files (or .lsp or .clisp) and saved it here.
<<debugsys.lisp (MID from IN)>>=
-${MID}/debugsys.lisp: $(srcdir)/debugsys.lisp.pamphlet
+debugsys.lisp: $(srcdir)/debugsys.lisp.pamphlet
$(axiom_build_document) --tangle --output=$@ $<
@
@@ -1182,11 +1181,9 @@
@ echo 79 making newaux.$(FASLEXT) from newaux.lisp
( \
if [ -z "${NOISE}" ] ; then \
- echo '(progn (compile-file "newaux.lisp" :output-file' \
- ' "newaux.$(FASLEXT)") (${BYE}))' | ${DEPSYS} ; \
+ echo '(progn (compile-file "newaux.lisp" :output-file
"newaux.$(FASLEXT)") (${BYE}))' | ${DEPSYS} ; \
else \
- echo '(progn (compile-file "newaux.lisp" :output-file' \
- ' "newaux.$(FASLEXT)") (${BYE}))' | ${DEPSYS} >> ${TMP}/trace ; \
+ echo '(progn (compile-file "newaux.lisp" :output-file
"newaux.$(FASLEXT)") (${BYE}))' | ${DEPSYS} >> ${TMP}/trace ; \
fi )
@
@@ -1249,11 +1246,11 @@
@ echo 616 making $@ from exposed.lsp
if [ -z "${NOISE}" ] ; then \
echo '(progn (compile-file "exposed.lsp" :output-file' \
- ' "$(axiom_targetdir)/algebra/exposed.$(FASLEXT)") (${BYE}))' \
+ ' "$(BASE)$(axiom_targetdir)/algebra/exposed.$(FASLEXT)")
(${BYE}))' \
| ${DEPSYS} ; \
else \
echo '(progn (compile-file "exposed.lsp" :output-file' \
- ' "$(axiom_targetdir)/algebra/exposed.$(FASLEXT)") (${BYE}))' \
+ ' "$(BASE)$(axiom_targetdir)/algebra/exposed.$(FASLEXT)")
(${BYE}))' \
| ${DEPSYS} >> ${TMP}/trace ; \
fi
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/interp/patches.lisp.pamphlet
wh-sandbox.bp3/src/interp/patches.lisp.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/src/interp/patches.lisp.pamphlet
2007-04-07 19:25:44.000000000 +0200
+++ wh-sandbox.bp3/src/interp/patches.lisp.pamphlet 2007-04-27
13:00:40.000000000 +0200
@@ -360,25 +360,25 @@
"A structure to hold XDR streams. The stream is printed out."
(handle ) ;; this is what is used for xdr-open xdr-read xdr-write
(name )) ;; this is used for printing
-#+:akcl
+#+(and :gcl (not (or :dos :win32)))
(defun |xdrOpen| (str dir) (make-xdr-stream :handle (system:xdr-open str)
:name str))
#+:CCL
(defun |xdrOpen| (str dir) (xdr-open str dir) )
-#+:dos
+#+(and :gcl (or :dos :win32))
(defun |xdrOpen| (str dir) (format t "xdrOpen called"))
-#+:akcl
+#+(and :akcl (not (or :dos :win32)))
(defun |xdrRead| (xstr r) (system:xdr-read (xdr-stream-handle xstr) r) )
#+:CCL
(defun |xdrRead| (xstr r) (xdr-read xstr r) )
-#+:dos
+#+(and :gcl (or :dos :win32))
(defun |xdrRead| (str) (format t "xdrRead called"))
-#+:akcl
+#+(and :akcl (not (or :dos :win32)))
(defun |xdrWrite| (xstr d) (system:xdr-write (xdr-stream-handle xstr) d) )
#+:CCL
(defun |xdrWrite| (xstr d) (xdr-write xstr d) )
-#+:dos
+#+(and :gcl (or :dos :win32))
(defun |xdrWrite| (str) (format t "xdrWrite called"))
;; here is a test for XDR
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/interp/sys-pkg.lisp.pamphlet
wh-sandbox.bp3/src/interp/sys-pkg.lisp.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/src/interp/sys-pkg.lisp.pamphlet
2007-04-10 20:03:29.000000000 +0200
+++ wh-sandbox.bp3/src/interp/sys-pkg.lisp.pamphlet 2007-04-27
00:54:24.000000000 +0200
@@ -30,7 +30,7 @@
This is the boot to lisp compiler package which contains the
src/boot files. Tt is the boot translator package.
<<*>>=
-(make-package "BOOTTRAN" :use '("LISP"))
+;; (make-package "BOOTTRAN" :use '("LISP"))
@
Everything in axiom that the user references eventually shows
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/lisp/Makefile.pamphlet
wh-sandbox.bp3/src/lisp/Makefile.pamphlet
--- /home/s/test/tt/axiom2/wh-sandbox2/src/lisp/Makefile.pamphlet
2007-04-07 19:25:44.000000000 +0200
+++ wh-sandbox.bp3/src/lisp/Makefile.pamphlet 2007-04-27 13:14:35.000000000
+0200
@@ -59,8 +59,8 @@
\subsection{GCL already installed or built}
-<<build lisp for boot>>=
-## Create a fresh image for building Boot
+<<build augmented lisp>>=
+## Create a fresh image for building interpsys and AXIOMsys
## These objects files are the C runtime support
## and must be compiled into the Lisp image,
## as they must be present in the final interpreter
@@ -70,8 +70,9 @@
$(build_libdir)/cfuns-c.o \
$(build_libdir)/sockio-c.o
-$(OUT)/lisp$(EXEEXT): $(AXIOM_LISP)
- echo '(compiler::link nil "${OUT}/lisp" ' \
+$(OUT)/lisp$(EXEEXT): initial-env.lisp
+ @axiom_gcl_rsym_hack@
+ echo '(compiler::link (quote ("initial-env.lisp")) "lisp" ' \
' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\
' (si::*load-types* ~S))' \
' (compiler::emit-fn t))' \
@@ -79,8 +80,12 @@
' (si::sgc-on t))' \
' (setq compiler::*default-system-p* t))"' \
' si::*system-directory* (quote (list ".lsp")))' \
- ' "$(lisp_c_objects)")' \
+ ' "$(lisp_c_objects) @axiom_c_runtime_extra@")' \
| $(AXIOM_LISP)
+ $(INSTALL_PROGRAM) lisp$(EXEEXT) $(OUT)
+
+initial-env.lisp: $(srcdir)/../boot/initial-env.lisp.pamphlet
+ $(axiom_build_document) --tangle $< --output=$@
@
@@ -102,7 +107,7 @@
all-ax all-lisp: $(OUT)/lisp$(EXEEXT)
-<<build lisp for boot>>
+<<build augmented lisp>>
# Build GCL takes quite a while, so we don't remove the
# diretcory in mostlyclean. Rather, we do that in clean.
Tylko w wh-sandbox.bp3/src/lisp: Makefile.pamphlet.orig
diff -ru --exclude=.svn
/home/s/test/tt/axiom2/wh-sandbox2/src/scripts/document.in
wh-sandbox.bp3/src/scripts/document.in
--- /home/s/test/tt/axiom2/wh-sandbox2/src/scripts/document.in 2007-04-10
20:00:25.000000000 +0200
+++ wh-sandbox.bp3/src/scripts/document.in 2007-04-27 12:56:36.000000000
+0200
@@ -37,14 +37,23 @@
# Anything that comes after is treated as an argument, even
# if it looks like an option
+## 2007-04-10:
+## After moving to a recent version of MSYS, and GCL-2.6.8pre, I
+## noticed that double-colon ('::' in boottran::boottocl) will be
+## translated to semi-colon (';') as if interpreted for path
+## separator. I don't who is doing that, and I have no time to
+## investigate it, and even if I do, it would not help much.
+## Therefore, I've changed the script not to use double-colon.
+## -- Gaby
+
# set -x
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+latex="@LATEX@"
+index="@MAKEINDEX@"
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+notangle="@NOTANGLE@"
+noweave="@NOWEAVE@"
# Flags used to invoke the Lisp compiler in batch mode
quiet="@axiom_quiet_flags@"
@@ -103,16 +112,16 @@
case $lisp_flavor in
gcl|sbcl|clisp)
if [ -z "$output" ] ; then
- $command $quiet $eval_flags \
- "(progn (compile-file \"$1\") (quit))"
+ # $command $quiet $eval_flags \
+ echo "(progn (compile-file \"$1\") (quit))" | $command
else
# argument to:output-file has implementation defined
# default -- we use merge-patnames to pick defaults
# from *default-pathname-defaults*
- $command $quiet $eval_flags \
- "(progn (compile-file \"$1\" :output-file \
- (merge-pathnames \"$output\")) (quit))"
+ # $command $quiet $eval_flags
+ echo "(progn (compile-file \"$1\" :output-file \
+ (merge-pathnames \"$output\")) (quit))" | $command
fi
;;
# ECL makes the saved image executable only if :system-p it true.
@@ -136,7 +145,8 @@
## image. Consequently, we don't supply the $quiet flags
## when loading-and-saving.
$command $eval_flags "(load \"$1\")" \
- $eval_flags "(boottran::save-core \"$output\")"
+ $eval_flags "(in-package \"BOOTTRAN\")" \
+ $eval_flags "(save-core \"$output\")"
;;
*)
error "don't know how to compile with '$lisp_flavor' Lisp"
@@ -149,8 +159,9 @@
make_program() {
case $lisp_flavor in
gcl|sbcl|clisp)
- $command $eval_flags \
- "(boottran::make-program \"$output\" (quote ($*)))"
+ ## $command $eval_flags \
+ echo "(in-package \"BOOTTRAN\") \
+ (make-program \"$output\" (quote ($*)))" | $command
;;
*)
error "don't know how to build program with '$lisp_flavor' Lisp"
@@ -165,8 +176,8 @@
translate_boot_file() {
case $lisp_flavor in
gcl|sbcl|clisp)
- $command $quiet $eval_flags \
- "(progn (boottran::boottoclc \"$1\") (quit))" | tee $2
+ # $command $quiet $eval_flags "(in-package \"BOOTTRAN\")" \
+ echo "(in-package \"BOOTTRAN\") (progn (boottoclc \"$1\")) (quit)" |
$command | tee $2
;;
*)
error "don't know how to translate with '$lisp_flavor' Lisp"
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer