diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rwxr-xr-x | build-setup.sh | 1 | ||||
-rw-r--r-- | src/lisp/ChangeLog | 4 | ||||
-rw-r--r-- | src/lisp/Makefile.in | 32 | ||||
-rw-r--r-- | src/lisp/Makefile.pamphlet | 161 | ||||
-rw-r--r-- | src/lisp/core.lisp.in | 4 |
6 files changed, 42 insertions, 164 deletions
@@ -1,3 +1,7 @@ +2007-12-27 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * build-setup.sh (SUBDIRS): Don't extract Makefile.in for src/lisp. + 2007-11-30 Ralf Hemmecke <ralf@hemmecke.de> * configure.ac.pamphlet: Fix a thinko in checking for makeindex. diff --git a/build-setup.sh b/build-setup.sh index c36ea82b..d2d31f37 100755 --- a/build-setup.sh +++ b/build-setup.sh @@ -18,7 +18,6 @@ autoconf || error "could not re-generate configure" SUBDIRS=" . \ src \ src/lib \ - src/lisp \ src/boot \ src/interp \ src/share \ diff --git a/src/lisp/ChangeLog b/src/lisp/ChangeLog index c470a169..25b7978a 100644 --- a/src/lisp/ChangeLog +++ b/src/lisp/ChangeLog @@ -1,3 +1,7 @@ +2007-12-27 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * Makefile.pamphlet: Remove. + 2007-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * core.lisp.in ("AxiomCore"): Don't use SYSTEM package. diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in index b2288482..4a466082 100644 --- a/src/lisp/Makefile.in +++ b/src/lisp/Makefile.in @@ -1,3 +1,35 @@ +# Copyright (C) 2007, Gabriel Dos Reis. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# +# - Neither the name of The Numerical Algorithms Group Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + OUT = $(axiom_build_bindir) subdir = src/lisp/ diff --git a/src/lisp/Makefile.pamphlet b/src/lisp/Makefile.pamphlet deleted file mode 100644 index 4fe2bacd..00000000 --- a/src/lisp/Makefile.pamphlet +++ /dev/null @@ -1,161 +0,0 @@ -%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs. -\documentclass{article} -\usepackage{axiom} - -\title{\File{src/lisp/Makefile} Pamphlet} -\author{The Axiom Team} - -\begin{document} -\maketitle - -\begin{abstract} -\end{abstract} -\eject - -\tableofcontents -\eject - -\section{The Makefile} - -The purpose of this Makefile is to create a fresh Lisp image, [[$(OUT)/lisp]], -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. - -\section{The Makefile} - -<<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 -## and image. -lisp_c_objects = \ - $(build_libdir)/bsdsignal.$(COBJEXT) \ - $(build_libdir)/cfuns-c.$(COBJEXT) \ - $(build_libdir)/sockio-c.$(COBJEXT) - -$(OUT)/lisp$(EXEEXT): base-lisp$(EXEEXT) -ifeq (@axiom_lisp_flavor@,gcl) - @axiom_gcl_rsym_hack@ - echo '(let* ((sys-cc compiler::*cc*) ' \ - ' (sys-ld compiler::*ld*) ' \ - ' (compiler::*cc* (concatenate (quote string) ' \ - ' $(GCL_LTCC) ' \ - ' sys-cc)) ' \ - ' (compiler::*ld* (concatenate (quote string) ' \ - ' $(GCL_LTLD) ' \ - ' sys-ld))) ' \ - '(compiler::link (quote ($(FASLS))) "lisp$(EXEEXT)" ' \ - ' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\ - ' (si::*load-types* ~S))' \ - ' (compiler::emit-fn t))' \ - ' (when (fboundp (quote si::sgc-on))' \ - ' (si::sgc-on nil))' \ - ' (setq si::*top-level-hook* (read-from-string \"|AxiomCore|::|topLevel|\")))"' \ - ' si::*system-directory* (quote (list ".lsp")))' \ - ' "$(lisp_c_objects) @axiom_c_runtime_extra@"))' \ - | ./base-lisp$(EXEEXT) - $(mkinstalldirs) $(OUT) - $(INSTALL_PROGRAM) lisp$(EXEEXT) $(OUT) -endif - -ifeq (@axiom_lisp_flavor@,ecl) -base_lisp_objects = ("core.$(OBJEXT)") -else -base_lisp_objects = nil -endif - - -base-lisp$(EXEEXT): core.$(FASLEXT) - $(AXIOM_LISP) \ - $(eval_flags) '(load "core")' \ - $(eval_flags) '(|AxiomCore|::|link| "$@" (quote $(base_lisp_objects)) (quote |AxiomCore|::|topLevel|))' - - -axiom_optimize_options = @axiom_optimize_options@ - -edit = sed \ - -e 's|@open_axiom_installdir[@]|$(open_axiom_installdir)|g' \ - -e 's|@axiom_optimize_options[@]|$(axiom_optimize_options)|g' \ - -e 's|@host[@]|$(host)|g' \ - -e 's|@build[@]|$(build)|g' \ - -e 's|@target[@]|$(target)|g' - -core.lisp: $(srcdir)/core.lisp.in - $(edit) $< > $@.tmp - $(top_srcdir)/config/move-if-change $@.tmp $@ - -core.$(FASLEXT): core.lisp -ifeq (@axiom_lisp_flavor@,ecl) - $(AXIOM_LISP) $(quiet_flags) \ - $(eval_flags) '(require (quote cmp))' \ - $(eval_flags) '(compile-file "$<" :system-p t)' \ - $(eval_flags) '(c::build-fasl "$@" :lisp-files (quote ("core.$(OBJEXT)")))' \ - $(eval_flags) '(quit)' -else - $(AXIOM_LISP) $(quiet_flags) \ - $(eval_flags) '(progn (compile-file "$<") (quit))' -endif - -@ - -<<*>>= -OUT = $(axiom_build_bindir) - -subdir = src/lisp/ - -pamphlets = Makefile.pamphlet - -build_libdir = ./$(top_builddir)/src/lib - -lisp_DEPENDENCIES = $(build_libdir)/cfuns-c.lo \ - $(build_libdir)/sockio-c.lo \ - $(build_libdir)/libspad.la - - -## Ideally, we would like to use Libtool for producing, and linking with, -## object files from C codes. That means any C source code -## explicitly included in OpenAxiom, or produced internally by a Lisp -## compiler. However, the SYSTEM calls by GCL on Windows is very tricky -## to convince to properly resolve path names to executables. -## Consequently we temporarily give up here, e.g., we don't -## instruct GCL to use Libtool on Windows. -GCL_LTCC = $(if $(findstring mingw, $(target)),"","$(LIBTOOL) --mode=compile ") -GCL_LTLD = $(if $(findstring mingw, $(target)),"","$(LIBTOOL) --mode=link ") -COBJEXT = $(if $(findstring mingw, $(target)),$(OBJEXT),lo) - -## Again, ideally, we would like GCL to link with the compiled Lisp -## code from core.lisp. However, the general interface compiler::link -## that GCL provides for that task is unsupported on Windows platforms. -## So, we instruct GCL so load the source file instead. -fasl_ext = $(if $(findstring mingw, $(target)),.lisp,.$(FASLEXT)) -FASLS = $(patsubst %,"%", $(addsuffix $(fasl_ext),core)) - -.PHONY: all all-lisp -all: all-ax all-lisp - -all-ax all-lisp: stamp - -stamp: $(OUT)/lisp$(EXEEXT) - @rm -f stamp - $(STAMP) $@ - -<<build augmented lisp>> - -mostlyclean-local: - rm -f *.$(FASLEXT) - @rm -f $(OUT)/lisp$(EXEEXT) lisp$(EXEEXT) - @rm -f stamp - -clean-local: mostlyclean - -distclean-local: clean-local - @rm -f Makefile -@ - -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 67d8da25..53175aca 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -39,7 +39,7 @@ ;; -*- Abstract -*- ;; ;; This pamphlet defines the core of the system utilities for building -;; Boot and Axiom executable. It essentially etablishes a namespace +;; Boot and OpenAxiom executable. It essentially etablishes a namespace ;; (package AxiomCore) and defines some macros and functions ;; that need to be present during during compilation and executable ;; image construction. @@ -257,7 +257,7 @@ ;; Save current image on disk as executable and quit. (defun |saveCore| (core-image &optional (entry-point nil)) - ;; When building the Axiom system, and in many other cases I suspect, + ;; When building the OpenAxiom system, and in many other cases I suspect, ;; the main entry point is some function in a package not known to ;; the Lisp system at compile time, so we have delayed the ;; evaluation of the entry point in a form of a suspension. At this |