Implementation for the R6RS (rnrs sorting) library.
[bpt/guile.git] / module / Makefile.am
index 171f9f1..5d220bd 100644 (file)
 ## Process this file with automake to produce Makefile.in.
 ##
-##     Copyright (C) 2009 Free Software Foundation, Inc.
+##     Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
-##   GUILE is free software; you can redistribute it and/or modify
-##   it under the terms of the GNU General Public License as
-##   published by the Free Software Foundation; either version 2, or
+##   GUILE is free software; you can redistribute it and/or modify it
+##   under the terms of the GNU Lesser General Public License as
+##   published by the Free Software Foundation; either version 3, or
 ##   (at your option) any later version.
 ##
 ##   GUILE is distributed in the hope that it will be useful, but
 ##   WITHOUT ANY WARRANTY; without even the implied warranty of
 ##   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-##   GNU General Public License for more details.
+##   GNU Lesser General Public License for more details.
 ##
-##   You should have received a copy of the GNU General Public
-##   License along with GUILE; see the file COPYING.  If not, write
-##   to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
-##   Floor, Boston, MA 02110-1301 USA
+##   You should have received a copy of the GNU Lesser General Public
+##   License along with GUILE; see the file COPYING.LESSER.  If not,
+##   write to the Free Software Foundation, Inc., 51 Franklin Street,
+##   Fifth Floor, Boston, MA 02110-1301 USA
 
-# Build the compiler and VM support first to avoid stack overflows
-# when building the rest.
-SUBDIRS = . ice-9 srfi oop
+include $(top_srcdir)/am/guilec
 
 # We're at the root of the module hierarchy.
 modpath =
 
-SOURCES =                                                              \
-  system/base/pmatch.scm system/base/syntax.scm                                \
-  system/base/compile.scm system/base/language.scm                     \
-                                                                       \
-  system/vm/debug.scm system/vm/frame.scm system/vm/instruction.scm    \
-  system/vm/objcode.scm system/vm/profile.scm system/vm/program.scm    \
-  system/vm/trace.scm system/vm/vm.scm                                 \
-                                                                       \
-  system/repl/repl.scm system/repl/common.scm                          \
-  system/repl/command.scm                                              \
-                                                                       \
-  language/ghil.scm language/glil.scm language/assembly.scm            \
-                                                                       \
-  $(SCHEME_LANG_SOURCES) $(ECMASCRIPT_LANG_SOURCES)                    \
-  $(GHIL_LANG_SOURCES) $(GLIL_LANG_SOURCES)                            \
-  $(ASSEMBLY_LANG_SOURCES) $(BYTECODE_LANG_SOURCES)                    \
-  $(OBJCODE_LANG_SOURCES) $(VALUE_LANG_SOURCES)
+BEGINNING_OF_TIME=198001010100
+
+$(GOBJECTS): ice-9/eval.go.stamp
+ice-9/eval.go.stamp: ice-9/eval.go
+       touch -t $(BEGINNING_OF_TIME) $(srcdir)/ice-9/eval.scm 
+       touch -r $(srcdir)/ice-9/eval.scm ice-9/eval.go
+       touch -r $(srcdir)/ice-9/eval.scm ice-9/eval.go.stamp
+CLEANFILES += ice-9/eval.go ice-9/eval.go.stamp
+nobase_mod_DATA += ice-9/eval.scm
+nobase_ccache_DATA += ice-9/eval.go
+EXTRA_DIST += ice-9/eval.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.
+SOURCES =                                      \
+  ice-9/psyntax-pp.scm                         \
+  ice-9/boot-9.scm                             \
+                                               \
+  language/tree-il.scm                         \
+  language/glil.scm                            \
+  language/assembly.scm                                \
+  $(TREE_IL_LANG_SOURCES)                      \
+  $(GLIL_LANG_SOURCES)                         \
+  $(ASSEMBLY_LANG_SOURCES)                     \
+  $(BYTECODE_LANG_SOURCES)                     \
+  $(OBJCODE_LANG_SOURCES)                      \
+  $(VALUE_LANG_SOURCES)                                \
+  $(SCHEME_LANG_SOURCES)                       \
+  $(SYSTEM_BASE_SOURCES)                       \
+                                               \
+  $(ICE_9_SOURCES)                             \
+  $(SRFI_SOURCES)                              \
+  $(RNRS_SOURCES)                              \
+  $(OOP_SOURCES)                               \
+  $(SYSTEM_SOURCES)                            \
+  $(SCRIPTS_SOURCES)                           \
+  $(ECMASCRIPT_LANG_SOURCES)                   \
+  $(ELISP_LANG_SOURCES)                                \
+  $(BRAINFUCK_LANG_SOURCES)                    \
+  $(LIB_SOURCES)
+
+## test.scm is not currently installed.
+EXTRA_DIST +=                                  \
+  ice-9/test.scm                               \
+  ice-9/compile-psyntax.scm                    \
+  ice-9/ChangeLog-2008
+
+# We expect this to never be invoked when there is not already
+# ice-9/psyntax-pp.scm in %load-path, since compile-psyntax.scm depends
+# on ice-9/syncase.scm, which does `(load-from-path "ice-9/psyntax-pp.scm")'.
+# In other words, to bootstrap this file, you need to do something like:
+#    GUILE_LOAD_PATH=/usr/local/share/guile/1.5.4 make psyntax-pp.scm
+include $(top_srcdir)/am/pre-inst-guile
+ice-9/psyntax-pp.scm: ice-9/psyntax.scm
+       $(preinstguile) --no-autocompile -s $(srcdir)/ice-9/compile-psyntax.scm \
+               $(srcdir)/ice-9/psyntax.scm $(srcdir)/ice-9/psyntax-pp.scm
 
 SCHEME_LANG_SOURCES =                                          \
-  language/scheme/amatch.scm language/scheme/expand.scm        \
-  language/scheme/compile-ghil.scm language/scheme/spec.scm    \
-  language/scheme/inline.scm
+  language/scheme/spec.scm                                     \
+  language/scheme/compile-tree-il.scm                          \
+  language/scheme/decompile-tree-il.scm
 
-GHIL_LANG_SOURCES =                                    \
-  language/ghil/spec.scm language/ghil/compile-glil.scm
+TREE_IL_LANG_SOURCES =                                         \
+  language/tree-il/primitives.scm                              \
+  language/tree-il/optimize.scm                                 \
+  language/tree-il/inline.scm                                   \
+  language/tree-il/fix-letrec.scm                               \
+  language/tree-il/analyze.scm                                 \
+  language/tree-il/compile-glil.scm                            \
+  language/tree-il/spec.scm
 
 GLIL_LANG_SOURCES =                                            \
-  language/glil/spec.scm language/glil/compile-assembly.scm
+  language/glil/spec.scm language/glil/compile-assembly.scm    \
+  language/glil/decompile-assembly.scm
 
 ASSEMBLY_LANG_SOURCES =                                \
   language/assembly/spec.scm                   \
@@ -71,17 +116,237 @@ VALUE_LANG_SOURCES =                              \
   language/value/spec.scm
 
 ECMASCRIPT_LANG_SOURCES =                      \
-  language/ecmascript/parse-lalr.scm           \
   language/ecmascript/tokenize.scm             \
   language/ecmascript/parse.scm                        \
-  language/ecmascript/spec.scm                 \
   language/ecmascript/impl.scm                 \
   language/ecmascript/base.scm                 \
   language/ecmascript/function.scm             \
   language/ecmascript/array.scm                        \
-  language/ecmascript/compile-ghil.scm
+  language/ecmascript/compile-tree-il.scm      \
+  language/ecmascript/spec.scm
 
-NOCOMP_SOURCES =                               \
-  system/repl/describe.scm
+ELISP_LANG_SOURCES =                           \
+  language/elisp/lexer.scm                     \
+  language/elisp/parser.scm                    \
+  language/elisp/bindings.scm                  \
+  language/elisp/compile-tree-il.scm           \
+  language/elisp/runtime.scm                   \
+  language/elisp/runtime/function-slot.scm     \
+  language/elisp/runtime/macro-slot.scm                \
+  language/elisp/runtime/value-slot.scm                \
+  language/elisp/spec.scm
 
-include $(top_srcdir)/am/guilec
+BRAINFUCK_LANG_SOURCES =                       \
+  language/brainfuck/parse.scm                 \
+  language/brainfuck/compile-scheme.scm                \
+  language/brainfuck/compile-tree-il.scm       \
+  language/brainfuck/spec.scm
+
+SCRIPTS_SOURCES =                              \
+  scripts/PROGRAM.scm                          \
+  scripts/autofrisk.scm                                \
+  scripts/compile.scm                          \
+  scripts/disassemble.scm                      \
+  scripts/display-commentary.scm               \
+  scripts/doc-snarf.scm                                \
+  scripts/frisk.scm                            \
+  scripts/generate-autoload.scm                        \
+  scripts/lint.scm                             \
+  scripts/punify.scm                           \
+  scripts/read-scheme-source.scm               \
+  scripts/read-text-outline.scm                        \
+  scripts/use2dot.scm                          \
+  scripts/snarf-check-and-output-texi.scm      \
+  scripts/summarize-guile-TODO.scm             \
+  scripts/scan-api.scm                         \
+  scripts/api-diff.scm                         \
+  scripts/read-rfc822.scm                      \
+  scripts/snarf-guile-m4-docs.scm
+
+SYSTEM_BASE_SOURCES =                          \
+  system/base/pmatch.scm                       \
+  system/base/syntax.scm                       \
+  system/base/compile.scm                      \
+  system/base/language.scm                     \
+  system/base/lalr.scm                         \
+  system/base/message.scm
+
+ICE_9_SOURCES = \
+  ice-9/r4rs.scm \
+  ice-9/r5rs.scm \
+  ice-9/and-let-star.scm \
+  ice-9/calling.scm \
+  ice-9/common-list.scm \
+  ice-9/control.scm \
+  ice-9/curried-definitions.scm \
+  ice-9/debug.scm \
+  ice-9/debugger.scm \
+  ice-9/documentation.scm \
+  ice-9/emacs.scm \
+  ice-9/expect.scm \
+  ice-9/format.scm \
+  ice-9/getopt-long.scm \
+  ice-9/hcons.scm \
+  ice-9/i18n.scm \
+  ice-9/lineio.scm \
+  ice-9/ls.scm \
+  ice-9/mapping.scm \
+  ice-9/match.scm \
+  ice-9/networking.scm \
+  ice-9/null.scm \
+  ice-9/occam-channel.scm \
+  ice-9/optargs.scm \
+  ice-9/poe.scm \
+  ice-9/popen.scm \
+  ice-9/posix.scm \
+  ice-9/q.scm \
+  ice-9/rdelim.scm \
+  ice-9/receive.scm \
+  ice-9/regex.scm \
+  ice-9/runq.scm \
+  ice-9/rw.scm \
+  ice-9/safe-r5rs.scm \
+  ice-9/safe.scm \
+  ice-9/session.scm \
+  ice-9/slib.scm \
+  ice-9/stack-catch.scm \
+  ice-9/streams.scm \
+  ice-9/string-fun.scm \
+  ice-9/syncase.scm \
+  ice-9/threads.scm \
+  ice-9/buffered-input.scm \
+  ice-9/time.scm \
+  ice-9/history.scm \
+  ice-9/channel.scm \
+  ice-9/pretty-print.scm \
+  ice-9/ftw.scm \
+  ice-9/gap-buffer.scm \
+  ice-9/weak-vector.scm \
+  ice-9/deprecated.scm \
+  ice-9/list.scm \
+  ice-9/serialize.scm \
+  ice-9/gds-server.scm \
+  ice-9/vlist.scm
+
+SRFI_SOURCES = \
+  srfi/srfi-1.scm \
+  srfi/srfi-2.scm \
+  srfi/srfi-4.scm \
+  srfi/srfi-4/gnu.scm \
+  srfi/srfi-6.scm \
+  srfi/srfi-8.scm \
+  srfi/srfi-9.scm \
+  srfi/srfi-10.scm \
+  srfi/srfi-11.scm \
+  srfi/srfi-13.scm \
+  srfi/srfi-14.scm \
+  srfi/srfi-16.scm \
+  srfi/srfi-17.scm \
+  srfi/srfi-18.scm \
+  srfi/srfi-19.scm \
+  srfi/srfi-26.scm \
+  srfi/srfi-31.scm \
+  srfi/srfi-34.scm \
+  srfi/srfi-35.scm \
+  srfi/srfi-37.scm \
+  srfi/srfi-39.scm \
+  srfi/srfi-60.scm \
+  srfi/srfi-69.scm \
+  srfi/srfi-88.scm \
+  srfi/srfi-98.scm
+
+RNRS_SOURCES =                                 \
+  rnrs/6/base.scm                              \
+  rnrs/6/conditions.scm                                \
+  rnrs/6/control.scm                           \
+  rnrs/6/exceptions.scm                                \
+  rnrs/6/hashtables.scm                                \
+  rnrs/6/lists.scm                             \
+  rnrs/6/programs.scm                          \
+  rnrs/6/sorting.scm                           \
+  rnrs/6/syntax-case.scm                       \
+  rnrs/6/unicode.scm                           \
+  rnrs/arithmetic/6/bitwise.scm                        \
+  rnrs/bytevector.scm                          \
+  rnrs/io/6/simple.scm                         \
+  rnrs/io/ports.scm                            \
+  rnrs/records/6/inspection.scm                        \
+  rnrs/records/6/procedural.scm                        \
+  rnrs/records/6/syntactic.scm
+
+EXTRA_DIST += scripts/ChangeLog-2008
+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
+
+SYSTEM_SOURCES =                               \
+  system/vm/inspect.scm                                \
+  system/vm/coverage.scm                       \
+  system/vm/debug.scm                          \
+  system/vm/frame.scm                          \
+  system/vm/instruction.scm                    \
+  system/vm/objcode.scm                                \
+  system/vm/profile.scm                                \
+  system/vm/program.scm                                \
+  system/vm/trace.scm                          \
+  system/vm/vm.scm                             \
+  system/foreign.scm                           \
+  system/xref.scm                              \
+  system/repl/repl.scm                         \
+  system/repl/common.scm                       \
+  system/repl/command.scm
+
+LIB_SOURCES =                                  \
+  statprof.scm                                 \
+  sxml/apply-templates.scm                     \
+  sxml/fold.scm                                        \
+  sxml/simple.scm                              \
+  sxml/ssax/input-parse.scm                    \
+  sxml/ssax.scm                                        \
+  sxml/transform.scm                           \
+  sxml/xpath.scm                               \
+  texinfo.scm                                  \
+  texinfo/docbook.scm                          \
+  texinfo/html.scm                             \
+  texinfo/indexing.scm                         \
+  texinfo/string-utils.scm                     \
+  texinfo/plain-text.scm                       \
+  texinfo/reflection.scm                       \
+  texinfo/serialize.scm
+
+EXTRA_DIST += oop/ChangeLog-2008
+
+NOCOMP_SOURCES =                               \
+  ice-9/gds-client.scm                         \
+  ice-9/psyntax.scm                            \
+  ice-9/r6rs-libraries.scm                     \
+  ice-9/quasisyntax.scm                                \
+  system/base/lalr.upstream.scm                        \
+  system/repl/describe.scm                     \
+  ice-9/debugger/command-loop.scm              \
+  ice-9/debugger/commands.scm                  \
+  ice-9/debugger/state.scm                     \
+  ice-9/debugger/trc.scm                       \
+  ice-9/debugger/utils.scm                     \
+  ice-9/debugging/example-fns.scm              \
+  ice-9/debugging/steps.scm                    \
+  ice-9/debugging/trace.scm                    \
+  ice-9/debugging/traps.scm                    \
+  ice-9/debugging/trc.scm                      \
+  sxml/upstream/SSAX.scm                       \
+  sxml/upstream/SXML-tree-trans.scm            \
+  sxml/upstream/SXPath-old.scm                 \
+  sxml/upstream/assert.scm                     \
+  sxml/upstream/input-parse.scm