Fix intmap bug for maps with only one element
[bpt/guile.git] / module / Makefile.am
index cbdbbc9..51397ba 100644 (file)
@@ -1,7 +1,7 @@
 ## Process this file with automake to produce Makefile.in.
 ##
 ##     Copyright (C) 2009, 2010, 2011, 2012, 2013,
-##        2014 Free Software Foundation, Inc.
+##        2014, 2015 Free Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
@@ -25,45 +25,51 @@ 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.
+BOOT_SOURCES = ice-9/psyntax-pp.scm
+BOOT_GOBJECTS = $(BOOT_SOURCES:%.scm=%.go)
+$(BOOT_GOBJECTS): ice-9/eval.go
+$(GOBJECTS): $(BOOT_GOBJECTS)
+CLEANFILES += ice-9/eval.go $(BOOT_GOBJECTS)
+nobase_mod_DATA += ice-9/eval.scm $(BOOT_SOURCES)
+nobase_ccache_DATA += ice-9/eval.go $(BOOT_GOBJECTS)
+EXTRA_DIST += ice-9/eval.scm $(BOOT_SOURCES)
+ETAGS_ARGS += ice-9/eval.scm $(BOOT_SOURCES)
+
+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                    \
+  language/cps/types.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 +88,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 +115,41 @@ 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/intmap.scm                                      \
+  language/cps/intset.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/type-fold.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 +164,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 +172,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 =                       \
@@ -178,7 +198,9 @@ SCRIPTS_SOURCES =                           \
   scripts/summarize-guile-TODO.scm             \
   scripts/api-diff.scm                         \
   scripts/read-rfc822.scm                      \
-  scripts/snarf-guile-m4-docs.scm
+  scripts/snarf-guile-m4-docs.scm              \
+  scripts/autofrisk.scm                                \
+  scripts/scan-api.scm
 
 SYSTEM_BASE_SOURCES =                          \
   system/base/pmatch.scm                       \
@@ -188,10 +210,10 @@ SYSTEM_BASE_SOURCES =                             \
   system/base/lalr.scm                         \
   system/base/message.scm                      \
   system/base/target.scm                       \
+  system/base/types.scm                                \
   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 \
@@ -220,8 +242,15 @@ 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/popen.scm \
   ice-9/posix.scm \
   ice-9/q.scm \
   ice-9/rdelim.scm \
@@ -251,19 +280,8 @@ ICE_9_SOURCES = \
   ice-9/weak-vector.scm \
   ice-9/list.scm \
   ice-9/serialize.scm \
-  ice-9/local-eval.scm
-
-if BUILD_ICE_9_POPEN
-
-# This functionality is missing on systems without `fork'---i.e., Windows.
-ICE_9_SOURCES += ice-9/popen.scm
-
-# These modules rely on (ice-9 popen).
-SCRIPTS_SOURCES +=                             \
-  scripts/autofrisk.scm                                \
-  scripts/scan-api.scm
-
-endif BUILD_ICE_9_POPEN
+  ice-9/local-eval.scm \
+  ice-9/unicode.scm
 
 srfi/srfi-64.go: srfi/srfi-64.scm srfi/srfi-64/testing.scm
 
@@ -285,6 +303,7 @@ SRFI_SOURCES = \
   srfi/srfi-19.scm \
   srfi/srfi-26.scm \
   srfi/srfi-27.scm \
+  srfi/srfi-28.scm \
   srfi/srfi-31.scm \
   srfi/srfi-34.scm \
   srfi/srfi-35.scm \
@@ -337,14 +356,11 @@ EXTRA_DIST += scripts/README
 OOP_SOURCES = \
   oop/goops.scm \
   oop/goops/active-slot.scm \
-  oop/goops/compile.scm \
   oop/goops/composite-slot.scm \
   oop/goops/describe.scm \
-  oop/goops/dispatch.scm \
   oop/goops/internal.scm \
   oop/goops/save.scm \
   oop/goops/stklos.scm \
-  oop/goops/util.scm \
   oop/goops/accessors.scm \
   oop/goops/simple.scm
 
@@ -352,21 +368,24 @@ 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                    \
   system/xref.scm                              \
   system/repl/debug.scm                                \
   system/repl/error-handling.scm               \
   system/repl/common.scm                       \
   system/repl/command.scm                      \
   system/repl/repl.scm                         \
-  system/repl/server.scm
+  system/repl/server.scm                       \
+  system/repl/coop-server.scm
 
 LIB_SOURCES =                                  \
   statprof.scm                                 \
@@ -398,6 +417,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                            \