From 91e3f58e72d13cd2c3d0cf725dca5f5580ef8098 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 2 Dec 2007 06:24:29 +0000 Subject: src/boot/ 2007-12-02 Gabriel Dos Reis * 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 * 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. --- src/boot/ChangeLog | 7 +++++++ src/boot/Makefile.in | 14 +++++++++++--- src/boot/Makefile.pamphlet | 14 +++++++++++--- 3 files changed, 29 insertions(+), 6 deletions(-) (limited to 'src/boot') 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 + + * 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 * 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. <>= 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=$@ $< -- cgit v1.2.3