Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / module / Makefile.am
index 521318b..7af35ed 100644 (file)
@@ -25,45 +25,48 @@ include $(top_srcdir)/am/guilec
 # We're at the root of the module hierarchy.
 modpath =
 
-# Build eval.go first.
-$(GOBJECTS): ice-9/eval.go
-CLEANFILES += ice-9/eval.go
-nobase_mod_DATA += ice-9/eval.scm
-nobase_ccache_DATA += ice-9/eval.go
-EXTRA_DIST += ice-9/eval.scm
-ETAGS_ARGS += ice-9/eval.scm
+# Build eval.go first.  Then build psyntax-pp.go, as the expander has to
+# run on every loaded scheme file.  It doesn't pay off at compile-time
+# to interpret the expander in parallel!
+$(GOBJECTS): ice-9/psyntax-pp.go
+ice-9/psyntax-pp.go: ice-9/eval.go
+CLEANFILES += ice-9/eval.go ice-9/psyntax-pp.go
+nobase_mod_DATA += ice-9/eval.scm ice-9/psyntax-pp.scm
+nobase_ccache_DATA += ice-9/eval.go ice-9/psyntax-pp.go
+EXTRA_DIST += ice-9/eval.scm ice-9/psyntax-pp.scm
+ETAGS_ARGS += ice-9/eval.scm ice-9/psyntax-pp.scm
+
+VM_TARGETS := system/vm/assembler.go system/vm/disassembler.go
+$(VM_TARGETS): $(top_builddir)/libguile/vm-operations.h
 
 ice-9/boot-9.go: ice-9/boot-9.scm ice-9/quasisyntax.scm ice-9/r6rs-libraries.scm
 ice-9/match.go: ice-9/match.scm ice-9/match.upstream.scm
 
 # We can compile these in any order, but it's fastest if we compile
-# psyntax and boot-9 first, then the compiler itself, then the rest of
-# the code.
+# boot-9 first, then the compiler itself, then the rest of the code.
 SOURCES =                                      \
-  ice-9/psyntax-pp.scm                         \
   ice-9/boot-9.scm                             \
+  language/tree-il/peval.scm                    \
+  system/vm/elf.scm                            \
   ice-9/vlist.scm                               \
   srfi/srfi-1.scm                               \
-  language/tree-il/peval.scm                    \
-  language/tree-il/cse.scm                      \
+  system/vm/linker.scm                         \
+  system/vm/dwarf.scm                          \
+  system/vm/assembler.scm                      \
                                                \
   language/tree-il.scm                         \
-  language/glil.scm                            \
-  language/assembly.scm                                \
   $(TREE_IL_LANG_SOURCES)                      \
-  $(GLIL_LANG_SOURCES)                         \
-  $(ASSEMBLY_LANG_SOURCES)                     \
+  $(CPS_LANG_SOURCES)                          \
   $(BYTECODE_LANG_SOURCES)                     \
-  $(OBJCODE_LANG_SOURCES)                      \
   $(VALUE_LANG_SOURCES)                                \
   $(SCHEME_LANG_SOURCES)                       \
   $(SYSTEM_BASE_SOURCES)                       \
                                                \
   $(ICE_9_SOURCES)                             \
+  $(SYSTEM_SOURCES)                            \
   $(SRFI_SOURCES)                              \
   $(RNRS_SOURCES)                              \
   $(OOP_SOURCES)                               \
-  $(SYSTEM_SOURCES)                            \
   $(SCRIPTS_SOURCES)                           \
   $(ECMASCRIPT_LANG_SOURCES)                   \
   $(ELISP_LANG_SOURCES)                                \
@@ -82,15 +85,14 @@ ETAGS_ARGS +=                                       \
   ice-9/ChangeLog-2008
 
 ice-9/psyntax-pp.scm.gen:
-       GUILE_INSTALL_LOCALE=1 GUILE_AUTO_COMPILE=0 \
-       $(top_builddir_absolute)/meta/guile -s $(srcdir)/ice-9/compile-psyntax.scm \
+       $(top_builddir_absolute)/meta/guile --no-auto-compile -s $(srcdir)/ice-9/compile-psyntax.scm \
                $(srcdir)/ice-9/psyntax.scm $(srcdir)/ice-9/psyntax-pp.scm
 
 .PHONY: ice-9/psyntax-pp.scm.gen
 
 # Keep this rule in sync with that in `am/guilec'.
 ice-9/psyntax-pp.go: ice-9/psyntax.scm ice-9/psyntax-pp.scm
-       $(AM_V_GUILEC)GUILE_INSTALL_LOCALE=1 GUILE_AUTO_COMPILE=0       \
+       $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                              \
        $(top_builddir)/meta/uninstalled-env                            \
        guild compile --target="$(host)" $(GUILE_WARNINGS)              \
          -L "$(abs_srcdir)" -L "$(abs_builddir)"                       \
@@ -110,25 +112,38 @@ TREE_IL_LANG_SOURCES =                                            \
   language/tree-il/canonicalize.scm                             \
   language/tree-il/analyze.scm                                 \
   language/tree-il/inline.scm                                  \
-  language/tree-il/compile-glil.scm                            \
+  language/tree-il/compile-cps.scm                             \
   language/tree-il/debug.scm                                   \
   language/tree-il/spec.scm
 
-GLIL_LANG_SOURCES =                                            \
-  language/glil/spec.scm language/glil/compile-assembly.scm
-
-ASSEMBLY_LANG_SOURCES =                                \
-  language/assembly/spec.scm                   \
-  language/assembly/compile-bytecode.scm       \
-  language/assembly/decompile-bytecode.scm     \
-  language/assembly/disassemble.scm
-
-BYTECODE_LANG_SOURCES =                                \
+CPS_LANG_SOURCES =                                             \
+  language/cps.scm                                             \
+  language/cps/arities.scm                                     \
+  language/cps/closure-conversion.scm                          \
+  language/cps/compile-bytecode.scm                            \
+  language/cps/constructors.scm                                        \
+  language/cps/contification.scm                               \
+  language/cps/cse.scm                                         \
+  language/cps/dce.scm                                         \
+  language/cps/dfg.scm                                         \
+  language/cps/effects-analysis.scm                            \
+  language/cps/elide-values.scm                                        \
+  language/cps/primitives.scm                                  \
+  language/cps/prune-bailouts.scm                              \
+  language/cps/prune-top-level-scopes.scm                      \
+  language/cps/reify-primitives.scm                            \
+  language/cps/renumber.scm                                    \
+  language/cps/self-references.scm                             \
+  language/cps/slot-allocation.scm                             \
+  language/cps/simplify.scm                                    \
+  language/cps/spec.scm                                                \
+  language/cps/specialize-primcalls.scm                                \
+  language/cps/verify.scm
+
+BYTECODE_LANG_SOURCES =                                                \
+  language/bytecode.scm                                                \
   language/bytecode/spec.scm
 
-OBJCODE_LANG_SOURCES =                         \
-  language/objcode/spec.scm
-
 VALUE_LANG_SOURCES =                           \
   language/value/spec.scm
 
@@ -143,6 +158,7 @@ ECMASCRIPT_LANG_SOURCES =                   \
   language/ecmascript/spec.scm
 
 ELISP_LANG_SOURCES =                           \
+  language/elisp/falias.scm                    \
   language/elisp/lexer.scm                     \
   language/elisp/parser.scm                    \
   language/elisp/bindings.scm                  \
@@ -150,8 +166,6 @@ ELISP_LANG_SOURCES =                                \
   language/elisp/runtime.scm                   \
   language/elisp/runtime/function-slot.scm     \
   language/elisp/runtime/value-slot.scm                \
-  language/elisp/runtime/macros.scm            \
-  language/elisp/runtime/subrs.scm             \
   language/elisp/spec.scm
 
 BRAINFUCK_LANG_SOURCES =                       \
@@ -192,7 +206,6 @@ SYSTEM_BASE_SOURCES =                               \
   system/base/ck.scm
 
 ICE_9_SOURCES = \
-  ice-9/r4rs.scm \
   ice-9/r5rs.scm \
   ice-9/deprecated.scm \
   ice-9/and-let-star.scm \
@@ -221,6 +234,12 @@ ICE_9_SOURCES = \
   ice-9/null.scm \
   ice-9/occam-channel.scm \
   ice-9/optargs.scm \
+  ice-9/peg/simplify-tree.scm \
+  ice-9/peg/codegen.scm \
+  ice-9/peg/cache.scm \
+  ice-9/peg/using-parsers.scm \
+  ice-9/peg/string-peg.scm \
+  ice-9/peg.scm \
   ice-9/poe.scm \
   ice-9/poll.scm \
   ice-9/posix.scm \
@@ -353,12 +372,13 @@ SYSTEM_SOURCES =                          \
   system/vm/inspect.scm                                \
   system/vm/coverage.scm                       \
   system/vm/frame.scm                          \
-  system/vm/instruction.scm                    \
-  system/vm/objcode.scm                                \
+  system/vm/loader.scm                         \
   system/vm/program.scm                                \
   system/vm/trace.scm                          \
   system/vm/traps.scm                          \
   system/vm/trap-state.scm                     \
+  system/vm/debug.scm                          \
+  system/vm/disassembler.scm                   \
   system/vm/vm.scm                             \
   system/foreign.scm                           \
   system/foreign-object.scm                    \
@@ -401,6 +421,9 @@ WEB_SOURCES =                                       \
 
 EXTRA_DIST += oop/ChangeLog-2008
 
+ELISP_SOURCES =                                        \
+    language/elisp/boot.el
+
 NOCOMP_SOURCES =                               \
   ice-9/match.upstream.scm                     \
   ice-9/psyntax.scm                            \