summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-23 16:38:49 +0200
committerAndy Wingo <wingo@pobox.com>2015-10-23 16:49:02 +0200
commit1c9e23c0901363ff24c1dc4e085e7ed68cb81e6d (patch)
treed74df227fc5a4b504f214b63a7c21b1d69fb8d30 /bootstrap
parent5f4ac529e16f4d8cb6c5df61c5aa47b6384ac98f (diff)
Bootstrap makefile tweaks
* bootstrap/Makefile.am (.scm.go): Fix -L options to point to /module. (SOURCES): Move up psyntax-pp.scm. Sadly a bug while I was developing the bootstrap makefile meant that there was a stale psyntax-pp.go from module/ that the build was picking up, leading to invalid bootstrap timing measurements.
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/Makefile.am10
1 files changed, 7 insertions, 3 deletions
diff --git a/bootstrap/Makefile.am b/bootstrap/Makefile.am
index 4f0bfac40..441b72738 100644
--- a/bootstrap/Makefile.am
+++ b/bootstrap/Makefile.am
@@ -27,7 +27,12 @@ GUILE_OPTIMIZATIONS = -O1
nobase_noinst_DATA = $(GOBJECTS) ice-9/eval.go
CLEANFILES = $(GOBJECTS) ice-9/eval.go
-$(GOBJECTS): ice-9/eval.go
+# We must build the evaluator first, so that we can be sure to control
+# the stack. Then we really need to build the expander before other
+# things, otherwise the compile time for everything else is dominated by
+# the expander.
+ice-9/psyntax-pp.go: ice-9/eval.go
+$(GOBJECTS): ice-9/psyntax-pp.go
VM_TARGETS := system/vm/assembler.go system/vm/disassembler.go
$(VM_TARGETS): $(top_builddir)/libguile/vm-operations.h
@@ -45,7 +50,7 @@ SUFFIXES = .scm .go
$(top_builddir)/meta/uninstalled-env \
guild compile --target="$(host)" \
$(GUILE_WARNINGS) $(GUILE_OPTIMIZATIONS) \
- -L "$(abs_srcdir)" -L "$(abs_builddir)" \
+ -L "$(abs_top_srcdir)/module" \
-L "$(abs_top_srcdir)/guile-readline" \
-o "$@" "$<"
@@ -120,7 +125,6 @@ SOURCES = \
system/base/types.scm \
system/base/ck.scm \
\
- ice-9/psyntax-pp.scm \
ice-9/boot-9.scm \
ice-9/r5rs.scm \
ice-9/deprecated.scm \