aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-12-02 06:24:29 +0000
committerdos-reis <gdr@axiomatics.org>2007-12-02 06:24:29 +0000
commit91e3f58e72d13cd2c3d0cf725dca5f5580ef8098 (patch)
tree8b96b4fffd78b06034dec538a6a0eb2e7005e0e3 /src/boot
parent3cf32a26366e7ca6065c6bf88ca66413f8815704 (diff)
downloadopen-axiom-91e3f58e72d13cd2c3d0cf725dca5f5580ef8098.tar.gz
src/boot/
2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (boot_objects_extra): New. (stage0/bootsys$(EXEEXT)): Use it. (stage1/bootsys$(EXEEXT)): Likewise. (stage2/bootsys$(EXEEXT)): Likewise. src/lisp/ 2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (base_lisp_objects): New. Abstract over Lisp compilation models. (core.$(FASLEXT)): Tidy. * core.lisp.in (|getOutputPathname|): Make unary. (|link|): Make sure object files are used to construct ECL programs. (|makeHandler|): Adjust. (|compileLispFile|): Likewise.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ChangeLog7
-rw-r--r--src/boot/Makefile.in14
-rw-r--r--src/boot/Makefile.pamphlet14
3 files changed, 29 insertions, 6 deletions
diff --git a/src/boot/ChangeLog b/src/boot/ChangeLog
index 8e2680ec..cf135562 100644
--- a/src/boot/ChangeLog
+++ b/src/boot/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (boot_objects_extra): New.
+ (stage0/bootsys$(EXEEXT)): Use it.
+ (stage1/bootsys$(EXEEXT)): Likewise.
+ (stage2/bootsys$(EXEEXT)): Likewise.
+
2007-11-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
* ast.boot.pamphlet (bfReduce): Compute left reduction, not right
diff --git a/src/boot/Makefile.in b/src/boot/Makefile.in
index 262d6d8f..013cf2bf 100644
--- a/src/boot/Makefile.in
+++ b/src/boot/Makefile.in
@@ -4,6 +4,14 @@ PROCLAIMS=(load "$(srcdir)/boot-proclaims.lisp")
boot_objects = initial-env.$(FASLEXT) $(boot_sources:.boot=.$(FASLEXT))
+## ECL's program construction model is not based on image-dumping. It is
+## closer to `traditional C' application building. Therefore, since
+## bootsys is an augmentation of base-lisp, we need to have the objects
+## that made up base-lisp too.
+ifeq (@axiom_lisp_flavor@,ecl)
+boot_objects_extra = ../lisp/core.$(FASLEXT)
+endif
+
boot_SOURCES = \
initial-env.lisp.pamphlet \
$(addsuffix .pamphlet, $(boot_sources))
@@ -53,7 +61,7 @@ stage0/stamp: stage0/bootsys$(EXEEXT)
stage0/bootsys$(EXEEXT): $(stage0_boot_objects)
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|"\
--output=$@ --load-directory=stage0 \
- $(stage0_boot_objects)
+ $(boot_objects_extra) $(stage0_boot_objects)
.PRECIOUS: %/.started
@@ -79,7 +87,7 @@ stage1/stamp: stage1/bootsys$(EXEEXT)
stage1/bootsys$(EXEEXT): $(addprefix stage1/, $(boot_objects))
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|" \
--output=$@ --load-directory=stage1 \
- $(addprefix stage1/, $(boot_objects))
+ $(boot_objects_extra) $(addprefix stage1/, $(boot_objects))
stage1/%.clisp: %.boot stage0/stamp stage1/.started
stage0/bootsys -- --translate --output=$@ $<
@@ -94,7 +102,7 @@ stage2/stamp: stage2/bootsys$(EXEEXT)
stage2/bootsys$(EXEEXT): $(addprefix stage2/, $(boot_objects))
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|" \
--output=$@ --load-directory=stage2 \
- $(addprefix stage2/, $(boot_objects))
+ $(boot_objects_extra) $(addprefix stage2/, $(boot_objects))
stage2/%.clisp: %.boot stage1/stamp stage2/.started
stage1/bootsys -- --translate --output=$@ $<
diff --git a/src/boot/Makefile.pamphlet b/src/boot/Makefile.pamphlet
index d4e26ccc..6555b896 100644
--- a/src/boot/Makefile.pamphlet
+++ b/src/boot/Makefile.pamphlet
@@ -1215,6 +1215,14 @@ boot translator image.
<<environment>>=
boot_objects = initial-env.$(FASLEXT) $(boot_sources:.boot=.$(FASLEXT))
+## ECL's program construction model is not based on image-dumping. It is
+## closer to `traditional C' application building. Therefore, since
+## bootsys is an augmentation of base-lisp, we need to have the objects
+## that made up base-lisp too.
+ifeq (@axiom_lisp_flavor@,ecl)
+boot_objects_extra = ../lisp/core.$(FASLEXT)
+endif
+
boot_SOURCES = \
initial-env.lisp.pamphlet \
$(addsuffix .pamphlet, $(boot_sources))
@@ -1400,7 +1408,7 @@ stage0/stamp: stage0/bootsys$(EXEEXT)
stage0/bootsys$(EXEEXT): $(stage0_boot_objects)
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|"\
--output=$@ --load-directory=stage0 \
- $(stage0_boot_objects)
+ $(boot_objects_extra) $(stage0_boot_objects)
.PRECIOUS: %/.started
@@ -1431,7 +1439,7 @@ stage1/stamp: stage1/bootsys$(EXEEXT)
stage1/bootsys$(EXEEXT): $(addprefix stage1/, $(boot_objects))
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|" \
--output=$@ --load-directory=stage1 \
- $(addprefix stage1/, $(boot_objects))
+ $(boot_objects_extra) $(addprefix stage1/, $(boot_objects))
stage1/%.clisp: %.boot stage0/stamp stage1/.started
stage0/bootsys -- --translate --output=$@ $<
@@ -1451,7 +1459,7 @@ stage2/stamp: stage2/bootsys$(EXEEXT)
stage2/bootsys$(EXEEXT): $(addprefix stage2/, $(boot_objects))
$(AXIOM_LOCAL_LISP) -- --make --main="|AxiomCore|::|topLevel|" \
--output=$@ --load-directory=stage2 \
- $(addprefix stage2/, $(boot_objects))
+ $(boot_objects_extra) $(addprefix stage2/, $(boot_objects))
stage2/%.clisp: %.boot stage1/stamp stage2/.started
stage1/bootsys -- --translate --output=$@ $<