axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: Please join!


From: Waldek Hebisch
Subject: Re: [Axiom-developer] Re: Please join!
Date: Sun, 22 Apr 2007 22:29:29 +0200 (CEST)

Bill Page wrote:
> On April 22, 2007 2:02 PM Alfredo Portes
>
> > Is Waldek branch able to compile in Windows or is it missing
> > anything significant from build-improvements to achieve this?
> > 
> 
> It is not possible (yet) to compile wh-sandbox on Windows.
> I am working on it. Any help would be appreciated.
> 

Could you write what problems do you see?  Gaby wrote that on
Windows one needs realtive paths -- this part in not merged
into wh-sandbox (mechanical merge gives me build failures on
Linux and the changes conflict with other patches that I am
working on, so this will take some time).  

Algebra and interp directories in wh-sandbox are significantly
differenet than in build-improvements, but I hope that there
is little (or maybe no) differences (beyond paths issues) affecting
portability.

In other subdirectories of src the diff below summarizes unmerged parts:

Index: src/hyper/ChangeLog.build-improvements
===================================================================
--- src/hyper/ChangeLog.build-improvements      (wersja 509)
+++ src/hyper/ChangeLog.build-improvements      (kopia robocza)
@@ -1,3 +1,15 @@
+2007-04-09  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (${HYPER}/pages/ht.db): Tell htadd that we're
+       building a system database.
+       * Makefile.in: Regenerate.
+
+2006-12-08  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (${HYPER}/pages/ht.db): Beware of relative
+       directories. 
+       * Makefile.in: Regenerate.
+
 2006-11-26  Gabriel Dos Reis  <address@hidden>
 
        * ReadBitmap.pamphlet: Include axiom-c-macros.h

Index: src/doc/Makefile.pamphlet
===================================================================
--- src/doc/Makefile.pamphlet   (wersja 509)
+++ src/doc/Makefile.pamphlet   (kopia robocza)
@@ -136,11 +136,11 @@
 We need to document the commands.
 <<*>>=
 IN=$(axiom_src_srcdir)/doc
-MID=${INT}/doc
+MID=./$(top_builddir)/int/doc
 OUT=$(axiom_target_bindir)
 STY=${OUT}/tex
 DVI=$(axiom_target_docdir)
-DOC=${INT}/doc
+DOC=./$(top_builddir)/int/doc
 
 subdir = src/doc/
 

Index: src/doc/ChangeLog.build-improvements
===================================================================
--- src/doc/ChangeLog.build-improvements        (wersja 509)
+++ src/doc/ChangeLog.build-improvements        (kopia robocza)
@@ -1,3 +1,8 @@
+2006-12-09  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (MID, DOC): Adjust definition.
+       * Makefile.in: Regenerate.
+
 2006-11-24  Gabriel Dos Reis  <address@hidden>
 
        * Makefile.pamphlet (all-doc): New phony target.
Index: src/lisp/Makefile.pamphlet
===================================================================
--- src/lisp/Makefile.pamphlet  (wersja 509)
+++ src/lisp/Makefile.pamphlet  (kopia robocza)
@@ -2,7 +2,7 @@
 \documentclass{article}
 \usepackage{axiom}
 
-\title{\File{src/lisp/Makefile}}
+\title{\File{src/lisp/Makefile} Pamphlet}
 \author{The Axiom Team}
 
 \begin{document}
@@ -18,49 +18,14 @@
 \section{The Makefile}
 
 The purpose of this Makefile is to create a fresh Lisp image, [[$(OUT)/lisp]],
-for use in make [[boot]].  To that end, it augments a existing Lisp
-image, at the moment GCL, with some specific C-routines.
+for use to make \Tool{interpsys} and \Tool{AXIOMsys}.  To that end, 
+it augments an existing Lisp image, at the moment \Tool{GCL}, with 
+some specific C-routines. 
 
-If GCL is not existing in the build environment, we build one and install
-it a separate directory and carry on the build process has if it had 
-existed.
-
-\section{Configure and Make GCL}
-We enable several features of GCL.
-The [[--enable-readline]] uses GNU readline for the prompts. It has been
-removed and replaced with clef which is Axiom's version of readline.
-The [[--enable-maxpage]] is set to allow the image to grow 4 times
-what it would by default.
-The [[--enable-vssize]] allows virtual stack to grow by twice the normal size.
-The [[--enable-statsysbfd]] uses a static system bfd library for loading and
-relocating object files.
-
-We would like to have the following done for all GCL (either built from Axiom 
-sources or system-installed).
-Finally we load some routines for performance reasons. [[lsp/sys-proclaim]]
-contains common lisp proclaim statements for the various GCL lisp routines.
-[[cmpnew/gcl_collectfn]] contains modifications to the common lisp compiler
-to collect compile-time type information which will be written to [[.fn]]
-files as common lisp structs. These [[.fn]] files can be loaded and turned
-into common lisp proclaim statements which the compiler can use to generate
-faster code, mostly fast-path function calls. The call to [[compiler::emit-fn]]
-enables the [[.fn]] file generation whenever compile-file is called. We
-default this code into the image so it is always avaiable.
-
-\begin{verbatim}
-       echo '(progn (load "cmpnew/gcl_collectfn.lsp")' \
-                  ' (load "lsp/sys-proclaim.lisp")' \
-                  ' (compiler::emit-fn t)' \
-                   ' (system::save-system "${OUT}/lisp"))' \
-             | $(GCL))
-\end{verbatim}
-
 \section{The Makefile}
 
-\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 +35,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):
+       @axiom_gcl_rsym_hack@
+       echo '(compiler::link (quote ("../boot/initial-env.lisp")) "lisp" ' \
               ' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\
                                         ' (si::*load-types* ~S))' \
                                        ' (compiler::emit-fn t))' \
@@ -79,8 +45,9 @@
                                         ' (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)
 
 @
 
@@ -91,7 +58,7 @@
 
 pamphlets = Makefile.pamphlet
 
-build_libdir = $(abs_top_builddir)/src/lib
+build_libdir = ./$(top_builddir)/src/lib
 
 lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.o \
                    $(build_libdir)/sockio-c.o \
@@ -102,14 +69,12 @@
 
 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.
 mostlyclean-local:
+       -rm -f $(OUT)/lisp$(EXEEXT)
 
 clean-local: mostlyclean
-       -rm -f $(OUT)/lisp$(EXEEXT)
 
 distclean-local: clean-local
        -rm -f Makefile
Index: src/lisp/ChangeLog.build-improvements
===================================================================
--- src/lisp/ChangeLog.build-improvements       (wersja 509)
+++ src/lisp/ChangeLog.build-improvements       (kopia robocza)
@@ -1,3 +1,35 @@
+2007-03-26  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet ($(OUT)/lisp$(EXEEXT)): Dont' depend on
+       $(AXIOM_LISP).  Load ../boot/initial-env.lisp before saving to
+       disk. Remove obsolete GCL build description.
+       (mostlyclean-local): Remove saved Lisp image.
+       * Makefile.in: Regenerate.
+
+2007-03-04  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet ($(OUT)/lisp$(EXEEXT)): Conditionally depend
+       on GCL.
+       * Makefile.in: Regenerate.
+
+2006-12-10  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet ($(OUT)/lisp$(EXEEXT)): Run GCL/rsym hack
+       work-around commands if necessary.
+       * Makefile.in: Regenerate.
+
+2006-12-09  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet ($(OUT)/lisp$(EXEEXT)): Add extra libraries if
+       necessary. 
+       * Makefile.in: Regenerate.
+
+2006-12-06  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet ($(OUT)/lisp$(EXEEXT)): Build "lisp" image in
+       the build directory, then copy over to the destination dir.
+       * Makefile.in: Regenerate.
+
 2006-12-02  Gabriel Dos Reis  <address@hidden>
 
        * Makefile.pamphlet (lisp_c_objects): New variable.
Index: src/etc/Makefile.pamphlet
===================================================================
--- src/etc/Makefile.pamphlet   (wersja 509)
+++ src/etc/Makefile.pamphlet   (kopia robocza)
@@ -2,7 +2,7 @@
 \documentclass{article}
 \usepackage{axiom}
 
-\title{\$SPAD/src/etc Makefile}
+\title{\File{src/etc/Makefile} Pamphlet}
 \author{Timothy Daly \and Gabriel Dos~Reis}
 
 \begin{document}
@@ -26,24 +26,26 @@
 @
 
 \section{The databases}
+
 The databases are built in this Makefile even though the prerequisits
 are actually made during the previous step in the algebra directory.
 This allows us to use a simple wildcard to express the fact that
-all of the [[algreba/*.NRLIB/code.$(OBJEXT)]] files are required in order to 
build
+all of the [[algreba/*.NRLIB/code.\$(OBJEXT)]] files are required in 
+order to build
 the databases. If any if any of these are changed, the databases must
 be re-built.
 <<dbcomplete>>=
 $(DATABASES): ${INT}/algebra/*.NRLIB/code.$(OBJEXT)
        @ echo 4 rebuilding databases...
-       @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ${INT}/algebra
-       @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ${INT}/algebra
-       @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ${INT}/algebra
-       @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ${INT}/algebra
-       @ (cd ${INT}/algebra ; \
+       @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ../algebra
+       @ $(INSTALL_DATA) $(axiom_src_docdir)/gloss.text ../algebra
+       @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ../algebra
+       @ $(INSTALL_DATA) $(axiom_src_docdir)/topics.data ../algebra
+       @ (cd ../algebra ; \
            echo ')lisp (make-databases "" nil)' | ${INTERPSYS} )
-       @ $(INSTALL_DATA) ${INT}/algebra/*.daase $(axiom_targetdir)/algebra
-       @ $(INSTALL_DATA) ${INT}/algebra/libdb.text $(axiom_targetdir)/algebra
-       @ $(INSTALL_DATA) ${INT}/algebra/comdb.text $(axiom_targetdir)/algebra
+       @ $(INSTALL_DATA) ../algebra/*.daase $(axiom_targetdir)/algebra
+       @ $(INSTALL_DATA) ../algebra/libdb.text $(axiom_targetdir)/algebra
+       @ $(INSTALL_DATA) ../algebra/comdb.text $(axiom_targetdir)/algebra
        @ $(mkinstalldirs) $(axiom_targetdir)/algebra/USERS.DAASE \
              $(axiom_targetdir)/algebra/DEPENDENTS.DAASE
        @ $(INSTALL_DATA) ${INT}/algebra/USERS.DAASE/index.KAF \
@@ -54,6 +56,7 @@
 @
 
 \section{\Tool{summary}}
+
 <<summary>>=
 $(axiom_target_libdir)/summary: $(srcdir)/summary
        $(INSTALL_DATA) $< $@ 
@@ -61,6 +64,7 @@
 @
 
 \section{\File{copyright}}
+
 <<copyright>>=
 $(axiom_target_libdir)/copyright: $(srcdir)/copyright
        $(INSTALL_DATA) $< $@ 
@@ -88,6 +92,7 @@
  e.g. %s -so Integer
  will give the source file name written to stdout
 \end{verbatim}
+
 <<asq>>=
 bin_PROGRAMS = asq$(EXEEXT)
 asq_sources = asq.c
@@ -104,7 +109,10 @@
 @
 
 <<*>>=
-INTERPSYS=$(axiom_build_bindir)/interpsys
+INTERPSYS= \
+       AXIOM="$(AXIOM)" \
+       DAASE="$(axiom_src_datadir)" \
+       ../interp/interpsys$(EXEEXT)
 DATABASES_SHORT=compress.daase interp.daase browse.daase category.daase \
                 operation.daase libdb.text comdb.text USERS.DAASE/index.KAF \
                 DEPENDENTS.DAASE/index.KAF

Index: src/etc/ChangeLog.build-improvements
===================================================================
--- src/etc/ChangeLog.build-improvements        (wersja 509)
+++ src/etc/ChangeLog.build-improvements        (kopia robocza)
@@ -1,3 +1,24 @@
+2007-04-01  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (INTERPSYS): Adjust path.
+       * Makefile.in: Regenerate.
+
+2007-03-24  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet: Fix typos.
+       * Makefile.in: Regenerate.
+
+2006-12-09  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (INTERPSYS): Point DAASE to the databases
+       cached in source.
+       * Makefile.in: Regenerate.
+
+2006-12-09  Gabriel Dos Reis  <address@hidden>
+
+       * Makefile.pamphlet (INT): Define here.
+       * Makefile.in: Regenerate.
+
 2006-11-26  Gabriel Dos Reis  <address@hidden>
 
        * asq.c.pamphlet: Include axiom-c-macros.h.


-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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