mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-30 08:50:23 +02:00
Instead of defining a separate module, given that "read" calls are quite all over the place, we're just going to replace the boot "read" binding with read.scm. This way, we'll be able to remove support for reader options in the boot reader, as it will only ever be used for a finite set of files. * NEWS: Update. * module/Makefile.am (ice-9/boot-9.go): Depend on read.scm. (SOURCES): * am/bootstrap.am (SOURCES): Don't build a ice-9/read.go, as we include it. * module/ice-9/boot-9.scm (read-syntax): Define here, as "include" now uses it. (read-hash-procedures, read-hash-procedure, read-hash-extend): New procedures. Will replace C variants. (read, read-syntax): Include read.scm to define these. * module/ice-9/psyntax-pp.scm (include): Regenerate. * module/ice-9/psyntax.scm (include): Use read-syntax, so we get better source information. * module/ice-9/read.scm (let*-values): New local definition, to avoid loading srfi-11. (%read): Use list->typed-array instead of u8-list->bytevector. * module/language/scheme/spec.scm: Remove (ice-9 read) import; read-syntax is there in the boot environment
160 lines
5 KiB
Text
160 lines
5 KiB
Text
## Copyright (C) 2009-2021 Free Software Foundation, Inc.
|
|
##
|
|
## This file is part of GNU Guile.
|
|
##
|
|
## GNU 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.
|
|
##
|
|
## GNU 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 Lesser General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU Lesser General Public
|
|
## License along with GNU 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
|
|
|
|
# These variables can be set before you include bootstrap.am.
|
|
GUILE_WARNINGS ?= -W1
|
|
GUILE_OPTIMIZATIONS ?= -O2
|
|
GUILE_TARGET ?= $(host)
|
|
GUILE_BUILD_TAG ?= BOOTSTRAP
|
|
|
|
GOBJECTS = $(SOURCES:%.scm=%.go)
|
|
nobase_noinst_DATA = $(GOBJECTS)
|
|
CLEANFILES = $(GOBJECTS)
|
|
|
|
VM_TARGETS = system/vm/assembler.go system/vm/disassembler.go
|
|
$(VM_TARGETS): $(top_builddir)/libguile/vm-operations.h
|
|
|
|
AM_V_GUILEC = $(AM_V_GUILEC_$(V))
|
|
AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
|
|
AM_V_GUILEC_0 = @echo " $(GUILE_BUILD_TAG) GUILEC" $@;
|
|
|
|
vpath %.scm @top_srcdir@/module
|
|
|
|
SUFFIXES = .scm .go
|
|
|
|
.scm.go:
|
|
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
|
$(top_builddir)/meta/build-env \
|
|
guild compile --target="$(GUILE_TARGET)" \
|
|
$(GUILE_WARNINGS) $(GUILE_OPTIMIZATIONS) \
|
|
-L "$(abs_top_srcdir)/module" \
|
|
-L "$(abs_top_srcdir)/guile-readline" \
|
|
-o "$@" "$<"
|
|
|
|
# A subset of sources that are used by the compiler. We can compile
|
|
# these in any order; the order below is designed to hopefully result in
|
|
# the lowest total compile time.
|
|
SOURCES = \
|
|
ice-9/eval.scm \
|
|
ice-9/psyntax-pp.scm \
|
|
language/tree-il/compile-bytecode.scm \
|
|
ice-9/boot-9.scm \
|
|
srfi/srfi-1.scm \
|
|
\
|
|
language/tree-il.scm \
|
|
language/tree-il/analyze.scm \
|
|
language/tree-il/debug.scm \
|
|
language/tree-il/effects.scm \
|
|
language/tree-il/eta-expand.scm \
|
|
language/tree-il/fix-letrec.scm \
|
|
language/tree-il/letrectify.scm \
|
|
language/tree-il/optimize.scm \
|
|
language/tree-il/peval.scm \
|
|
language/tree-il/primitives.scm \
|
|
language/tree-il/spec.scm \
|
|
\
|
|
language/scheme/spec.scm \
|
|
language/scheme/compile-tree-il.scm \
|
|
language/scheme/decompile-tree-il.scm \
|
|
\
|
|
language/bytecode.scm \
|
|
language/bytecode/spec.scm \
|
|
\
|
|
language/value/spec.scm \
|
|
\
|
|
system/base/pmatch.scm \
|
|
system/base/syntax.scm \
|
|
system/base/compile.scm \
|
|
system/base/optimize.scm \
|
|
system/base/language.scm \
|
|
system/base/lalr.scm \
|
|
system/base/message.scm \
|
|
system/base/target.scm \
|
|
system/base/types.scm \
|
|
system/base/types/internal.scm \
|
|
system/base/ck.scm \
|
|
\
|
|
ice-9/ports.scm \
|
|
ice-9/r5rs.scm \
|
|
ice-9/deprecated.scm \
|
|
ice-9/binary-ports.scm \
|
|
ice-9/command-line.scm \
|
|
ice-9/control.scm \
|
|
ice-9/format.scm \
|
|
ice-9/getopt-long.scm \
|
|
ice-9/i18n.scm \
|
|
ice-9/match.scm \
|
|
ice-9/networking.scm \
|
|
ice-9/posix.scm \
|
|
ice-9/rdelim.scm \
|
|
ice-9/receive.scm \
|
|
ice-9/regex.scm \
|
|
ice-9/session.scm \
|
|
ice-9/pretty-print.scm \
|
|
ice-9/vlist.scm \
|
|
\
|
|
system/vm/assembler.scm \
|
|
system/vm/debug.scm \
|
|
system/vm/disassembler.scm \
|
|
system/vm/dwarf.scm \
|
|
system/vm/elf.scm \
|
|
system/vm/frame.scm \
|
|
system/vm/linker.scm \
|
|
system/vm/loader.scm \
|
|
system/vm/program.scm \
|
|
system/vm/vm.scm \
|
|
system/foreign.scm \
|
|
system/foreign-library.scm \
|
|
\
|
|
language/tree-il/compile-cps.scm \
|
|
language/tree-il/cps-primitives.scm \
|
|
\
|
|
language/cps.scm \
|
|
language/cps/closure-conversion.scm \
|
|
language/cps/compile-bytecode.scm \
|
|
language/cps/contification.scm \
|
|
language/cps/cse.scm \
|
|
language/cps/dce.scm \
|
|
language/cps/devirtualize-integers.scm \
|
|
language/cps/effects-analysis.scm \
|
|
language/cps/intmap.scm \
|
|
language/cps/intset.scm \
|
|
language/cps/graphs.scm \
|
|
language/cps/licm.scm \
|
|
language/cps/loop-instrumentation.scm \
|
|
language/cps/peel-loops.scm \
|
|
language/cps/prune-top-level-scopes.scm \
|
|
language/cps/reify-primitives.scm \
|
|
language/cps/renumber.scm \
|
|
language/cps/rotate-loops.scm \
|
|
language/cps/optimize.scm \
|
|
language/cps/simplify.scm \
|
|
language/cps/self-references.scm \
|
|
language/cps/slot-allocation.scm \
|
|
language/cps/spec.scm \
|
|
language/cps/specialize-primcalls.scm \
|
|
language/cps/specialize-numbers.scm \
|
|
language/cps/split-rec.scm \
|
|
language/cps/switch.scm \
|
|
language/cps/type-checks.scm \
|
|
language/cps/type-fold.scm \
|
|
language/cps/types.scm \
|
|
language/cps/utils.scm \
|
|
language/cps/verify.scm \
|
|
language/cps/with-cps.scm
|