aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-08-20 22:13:31 +0000
committerdos-reis <gdr@axiomatics.org>2008-08-20 22:13:31 +0000
commit6511f77b63b9a74b65ac7e3d8f1a3f053970cb75 (patch)
tree3fd5a052bce84ad9e4be19b546c34f6a23ba8cc9
parent1f8dd2c2a72ad4ae908ca199bcaa066caf5c409d (diff)
downloadopen-axiom-6511f77b63b9a74b65ac7e3d8f1a3f053970cb75.tar.gz
* boot/Makefile.in (oa_boot_linkset): Tidy.
($(oa_boot_linkset)): New Make rule. * lisp/Makefile.in (oa_base_lisp_linkset): Tidy. ($(oa_base_lisp_linkset)): New Make rule. * lisp/core.lisp.in (linkset-from): Read the linkset from the file.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/boot/Makefile.in7
-rw-r--r--src/lisp/Makefile.in6
-rw-r--r--src/lisp/core.lisp.in6
4 files changed, 20 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 19e0e7cc..95a22bc6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,13 @@
2008-08-20 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * boot/Makefile.in (oa_boot_linkset): Tidy.
+ ($(oa_boot_linkset)): New Make rule.
+ * lisp/Makefile.in (oa_base_lisp_linkset): Tidy.
+ ($(oa_base_lisp_linkset)): New Make rule.
+ * lisp/core.lisp.in (linkset-from): Read the linkset from the file.
+
+2008-08-20 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/compiler.boot (compMacro): Honor $verbose.
* interp/modemap.boot (putDomainsInScope): Likewise.
* interp/wi1.boot (compMacro): Likewise.
diff --git a/src/boot/Makefile.in b/src/boot/Makefile.in
index ab05adca..c6fad676 100644
--- a/src/boot/Makefile.in
+++ b/src/boot/Makefile.in
@@ -60,8 +60,7 @@ boot_objects = initial-env.$(LNKEXT) $(boot_sources:.boot=.$(LNKEXT))
oa_target_bootdir = $(axiom_targetdir)/boot
ifeq (@axiom_lisp_flavor@,ecl)
-oa_boot_linkset = \
- $(addprefix $(oa_target_bootdir)/, $(boot_objects))
+oa_boot_linkset = $(oa_target_bootdir)/linkset
else
oa_boot_linkset =
endif
@@ -88,6 +87,10 @@ $(axiom_target_bindir)/bootsys$(EXEEXT): stage2/bootsys$(EXEEXT)
$(mkdir_p) $(axiom_target_bindir)
cp -p $< $@
+$(oa_boot_linkset): $(addprefix $(oa_target_bootdir)/, $(boot_objects))
+ rm -f $@
+ echo '($(patsubst %, "%", $(boot_objects)))' > $@
+
$(oa_target_bootdir)/%.$(LNKEXT): stage2/%.$(LNKEXT) $(oa_target_bootdir)
cp $< $@
diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in
index 5c5233fd..2f0270b1 100644
--- a/src/lisp/Makefile.in
+++ b/src/lisp/Makefile.in
@@ -59,7 +59,7 @@ FASLS = $(patsubst %,"%", $(addsuffix $(fasl_ext),core))
ifeq (@axiom_lisp_flavor@,ecl)
base_lisp_objects = ("core.$(LNKEXT)")
-oa_base_lisp_linkset = $(oa_target_lispdir)/core.$(LNKEXT)
+oa_base_lisp_linkset = $(oa_target_lispdir)/linkset
else
base_lisp_objects = nil
oa_base_lisp_linkset =
@@ -122,6 +122,9 @@ base-lisp$(EXEEXT): core.$(FASLEXT) $(oa_base_lisp_linkset)
$(eval_flags) '(load "core")' \
$(eval_flags) '(|AxiomCore|::|link| "$@" (quote $(base_lisp_objects)) "|AxiomCore|::|topLevel|")'
+$(oa_base_lisp_linkset): $(oa_target_lispdir)/core.$(LNKEXT)
+ rm -f $@
+ echo '$(base_lisp_objects)' > $@
axiom_optimize_options = @axiom_optimize_options@
@@ -142,7 +145,6 @@ edit = sed \
-e 's|@SHREXT[@]|$(SHREXT)|g' \
-e 's|@LIBEXT[@]|$(LIBEXT)|g' \
-e 's|@oa_c_runtime_extra[@]|$(oa_c_runtime_extra)|g' \
- -e 's|@oa_base_lisp_linkset[@]|$(base_lisp_objects)|g' \
-e 's|@oa_standard_linking[@]|$(oa_standard_linking)|g' \
-e 's|@void_type[@]|$(void_type)|g' \
-e 's|@char_type[@]|$(char_type)|g' \
diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in
index 77e44fe3..d1e24b9a 100644
--- a/src/lisp/core.lisp.in
+++ b/src/lisp/core.lisp.in
@@ -235,9 +235,9 @@
;; Return the list of linkable fasls in in the directory `dir'.
(defun linkset-from (dir)
- (directory (make-pathname :directory (pathname-directory dir)
- :name :wild
- :type |$effectiveFaslType|)))
+ (mapcar #'(lambda(f) (concatenate 'string dir f))
+ (with-open-file (stream (concatenate 'string dir "linkset"))
+ (read stream t))))
;; Return a path to the the subdirectory `subdir' within the
;; OpenAxiom filesystem.