mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Distribute prebuilt bootstraps for common hosts
* am/bootstrap.am: New file, factored out of bootstrap/Makefile.am. * bootstrap/Makefile.am: Use bootstrap.am. * prebuilt/Makefile.am: * prebuilt/i686-pc-linux-gnu/Makefile.am: * prebuilt/mips-unknown-linux-gnu/Makefile.am: * prebuilt/x86_64-unknown-linux-gnu/Makefile.am: New files. * configure.ac: Output the prebuilt/ makefiles. * Makefile.am: Descend into prebuilt/ when making dist. * meta/uninstalled-env.in: Arrange to put prebuilt/ in the beginning of the GUILE_LOAD_COMPILED_PATH. Also fix a case where bootstrap/ wasn't being correctly added to the load path.
This commit is contained in:
parent
e4be4aea34
commit
eccdeb6cc6
9 changed files with 308 additions and 143 deletions
|
@ -41,6 +41,8 @@ SUBDIRS = \
|
|||
am \
|
||||
doc
|
||||
|
||||
DIST_SUBDIRS = $(SUBDIRS) prebuilt
|
||||
|
||||
libguileincludedir = $(pkgincludedir)/$(GUILE_EFFECTIVE_VERSION)
|
||||
libguileinclude_HEADERS = libguile.h
|
||||
|
||||
|
|
153
am/bootstrap.am
Normal file
153
am/bootstrap.am
Normal file
|
@ -0,0 +1,153 @@
|
|||
## Copyright (C) 2009, 2010, 2011, 2012, 2013,
|
||||
## 2014, 2015 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 ?= -Wunbound-variable -Warity-mismatch -Wformat
|
||||
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/uninstalled-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/cps/intmap.scm \
|
||||
language/cps/intset.scm \
|
||||
language/cps/utils.scm \
|
||||
ice-9/vlist.scm \
|
||||
srfi/srfi-1.scm \
|
||||
\
|
||||
language/tree-il.scm \
|
||||
language/tree-il/analyze.scm \
|
||||
language/tree-il/canonicalize.scm \
|
||||
language/tree-il/compile-cps.scm \
|
||||
language/tree-il/debug.scm \
|
||||
language/tree-il/effects.scm \
|
||||
language/tree-il/fix-letrec.scm \
|
||||
language/tree-il/optimize.scm \
|
||||
language/tree-il/peval.scm \
|
||||
language/tree-il/primitives.scm \
|
||||
language/tree-il/spec.scm \
|
||||
\
|
||||
language/cps.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/effects-analysis.scm \
|
||||
language/cps/elide-values.scm \
|
||||
language/cps/licm.scm \
|
||||
language/cps/peel-loops.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/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/type-checks.scm \
|
||||
language/cps/type-fold.scm \
|
||||
language/cps/types.scm \
|
||||
language/cps/verify.scm \
|
||||
language/cps/with-cps.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/language.scm \
|
||||
system/base/lalr.scm \
|
||||
system/base/message.scm \
|
||||
system/base/target.scm \
|
||||
system/base/types.scm \
|
||||
system/base/ck.scm \
|
||||
\
|
||||
ice-9/boot-9.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 \
|
||||
\
|
||||
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
|
|
@ -21,138 +21,11 @@
|
|||
## Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
GOBJECTS = $(SOURCES:%.scm=%.go)
|
||||
# No warnings for the bootstrap build. Run
|
||||
# make GUILE_WARNINGS="-Wunbound-variable -Warity-mismatch -Wformat"
|
||||
# to get the normal set of warnings.
|
||||
GUILE_WARNINGS =
|
||||
GUILE_OPTIMIZATIONS = -O1
|
||||
nobase_noinst_DATA = $(GOBJECTS) ice-9/eval.go
|
||||
CLEANFILES = $(GOBJECTS) ice-9/eval.go
|
||||
|
||||
include $(top_srcdir)/am/bootstrap.am
|
||||
|
||||
# We must build the evaluator first, so that we can be sure to control
|
||||
# the stack.
|
||||
$(GOBJECTS): ice-9/eval.go
|
||||
|
||||
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 " BOOTSTRAP GUILEC" $@;
|
||||
|
||||
vpath %.scm @srcdir@/../module
|
||||
|
||||
SUFFIXES = .scm .go
|
||||
|
||||
.scm.go:
|
||||
$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \
|
||||
$(top_builddir)/meta/uninstalled-env \
|
||||
guild compile --target="$(host)" \
|
||||
$(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/psyntax-pp.scm \
|
||||
language/cps/intmap.scm \
|
||||
language/cps/intset.scm \
|
||||
language/cps/utils.scm \
|
||||
ice-9/vlist.scm \
|
||||
srfi/srfi-1.scm \
|
||||
\
|
||||
language/tree-il.scm \
|
||||
language/tree-il/analyze.scm \
|
||||
language/tree-il/canonicalize.scm \
|
||||
language/tree-il/compile-cps.scm \
|
||||
language/tree-il/debug.scm \
|
||||
language/tree-il/effects.scm \
|
||||
language/tree-il/fix-letrec.scm \
|
||||
language/tree-il/optimize.scm \
|
||||
language/tree-il/peval.scm \
|
||||
language/tree-il/primitives.scm \
|
||||
language/tree-il/spec.scm \
|
||||
\
|
||||
language/cps.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/effects-analysis.scm \
|
||||
language/cps/elide-values.scm \
|
||||
language/cps/licm.scm \
|
||||
language/cps/peel-loops.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/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/type-checks.scm \
|
||||
language/cps/type-fold.scm \
|
||||
language/cps/types.scm \
|
||||
language/cps/verify.scm \
|
||||
language/cps/with-cps.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/language.scm \
|
||||
system/base/lalr.scm \
|
||||
system/base/message.scm \
|
||||
system/base/target.scm \
|
||||
system/base/types.scm \
|
||||
system/base/ck.scm \
|
||||
\
|
||||
ice-9/boot-9.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 \
|
||||
\
|
||||
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
|
||||
$(filter-out ice-9/eval.go, $(GOBJECTS)): ice-9/eval.go
|
||||
|
|
|
@ -1645,8 +1645,13 @@ AC_CONFIG_FILES([
|
|||
meta/Makefile
|
||||
bootstrap/Makefile
|
||||
module/Makefile
|
||||
prebuilt/Makefile
|
||||
prebuilt/x86_64-unknown-linux-gnu/Makefile
|
||||
prebuilt/i686-pc-linux-gnu/Makefile
|
||||
prebuilt/mips-unknown-linux-gnu/Makefile
|
||||
])
|
||||
|
||||
|
||||
GUILE_CONFIG_SCRIPT([check-guile])
|
||||
GUILE_CONFIG_SCRIPT([benchmark-guile])
|
||||
GUILE_CONFIG_SCRIPT([meta/guile])
|
||||
|
|
|
@ -80,21 +80,22 @@ then
|
|||
fi
|
||||
export GUILE_LOAD_PATH
|
||||
|
||||
if test "x$GUILE_LOAD_COMPILED_PATH" = "x"
|
||||
then
|
||||
GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/guile-readline"
|
||||
if test "x$GUILE_LOAD_COMPILED_PATH" = "x"; then
|
||||
GUILE_LOAD_COMPILED_PATH="${top_srcdir}/prebuilt/@host@"
|
||||
else
|
||||
for d in "/bootstrap" "/module" "/guile-readline"
|
||||
do
|
||||
# This hair prevents double inclusion.
|
||||
# The ":" prevents prefix aliasing.
|
||||
case x"$GUILE_LOAD_COMPILED_PATH" in
|
||||
x*${top_builddir}${d}:*) ;;
|
||||
x*${top_builddir}${d}) ;;
|
||||
*) GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
|
||||
esac
|
||||
done
|
||||
GUILE_LOAD_COMPILED_PATH="${top_srcdir}/prebuilt/@host@:$GUILE_LOAD_COMPILED_PATH"
|
||||
fi
|
||||
|
||||
for d in "/bootstrap" "/module" "/guile-readline"
|
||||
do
|
||||
# This hair prevents double inclusion.
|
||||
# The ":" prevents prefix aliasing.
|
||||
case x"$GUILE_LOAD_COMPILED_PATH" in
|
||||
x*${top_builddir}${d}:*) ;;
|
||||
x*${top_builddir}${d}) ;;
|
||||
*) GUILE_LOAD_COMPILED_PATH="${top_builddir}${d}:$GUILE_LOAD_COMPILED_PATH" ;;
|
||||
esac
|
||||
done
|
||||
export GUILE_LOAD_COMPILED_PATH
|
||||
|
||||
# Don't look in installed dirs for guile modules
|
||||
|
|
56
prebuilt/Makefile.am
Normal file
56
prebuilt/Makefile.am
Normal file
|
@ -0,0 +1,56 @@
|
|||
## Process this file with automake to produce Makefile.in.
|
||||
##
|
||||
## Copyright (C) 2016 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
|
||||
|
||||
# Guile Scheme is mostly written in Guile Scheme. Its compiler is
|
||||
# written in Guile Scheme, and its interpreter too. However, it is not
|
||||
# bootstrapped from itself: Guile includes a minimal interpreter written
|
||||
# in C as well which can load the compiler, enough to compile the
|
||||
# interpreter written in Scheme. That compiled interpreter written in
|
||||
# Scheme is then used to compile the rest of Guile, including the
|
||||
# compiler itself.
|
||||
#
|
||||
# The problem is, this process takes a long time, and for people
|
||||
# installing Guile from source, it's their first experience of Guile: an
|
||||
# hour-long bootstrap. It's not the nicest experience. To avoid this,
|
||||
# in our tarballs we pre-build object files for the essential parts of
|
||||
# the compiler.
|
||||
#
|
||||
# In the future we will do native compilation and so we will need to
|
||||
# precompile object files for all common host types. Still, since we
|
||||
# use ELF everywhere, there will be many host types whose compiled files
|
||||
# are the same: because Guile incorporates its own linker and loader for
|
||||
# compiled Scheme files, any AArch64 machine, for example, is going to
|
||||
# have the same compiled files. So, for the variants that will be the
|
||||
# same, we compile one target triple, and symlink the similar targets to
|
||||
# that directory.
|
||||
#
|
||||
# The current situation though is that we compile to bytecode, and there
|
||||
# are only four variants of that bytecode: big- or little-endian, and
|
||||
# 32- or 64-bit. The strategy is the same, only that now
|
||||
# arm64-unknown-linux-gnu will link to x86_64-unknown-linux-gnu, as they
|
||||
# have the same word size and endianness. A pending issue to resolve is
|
||||
# how this wil deal with architectures where longs are 32 bits and
|
||||
# pointers are 64 bits; we'll let the x32 people deal with that.
|
||||
|
||||
SUBDIRS = \
|
||||
x86_64-unknown-linux-gnu \
|
||||
i686-pc-linux-gnu \
|
||||
mips-unknown-linux-gnu
|
25
prebuilt/i686-pc-linux-gnu/Makefile.am
Normal file
25
prebuilt/i686-pc-linux-gnu/Makefile.am
Normal file
|
@ -0,0 +1,25 @@
|
|||
## Process this file with automake to produce Makefile.in.
|
||||
##
|
||||
## Copyright (C) 2016 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
|
||||
|
||||
GUILE_TARGET = $(shell basename $(subdir))
|
||||
GUILE_BUILD_TAG = PREBUILD $(GUILE_TARGET)
|
||||
|
||||
include $(top_srcdir)/am/bootstrap.am
|
25
prebuilt/mips-unknown-linux-gnu/Makefile.am
Normal file
25
prebuilt/mips-unknown-linux-gnu/Makefile.am
Normal file
|
@ -0,0 +1,25 @@
|
|||
## Process this file with automake to produce Makefile.in.
|
||||
##
|
||||
## Copyright (C) 2016 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
|
||||
|
||||
GUILE_TARGET = $(shell basename $(subdir))
|
||||
GUILE_BUILD_TAG = PREBUILD $(GUILE_TARGET)
|
||||
|
||||
include $(top_srcdir)/am/bootstrap.am
|
25
prebuilt/x86_64-unknown-linux-gnu/Makefile.am
Normal file
25
prebuilt/x86_64-unknown-linux-gnu/Makefile.am
Normal file
|
@ -0,0 +1,25 @@
|
|||
## Process this file with automake to produce Makefile.in.
|
||||
##
|
||||
## Copyright (C) 2016 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
|
||||
|
||||
GUILE_TARGET = $(shell basename $(subdir))
|
||||
GUILE_BUILD_TAG = PREBUILD $(GUILE_TARGET)
|
||||
|
||||
include $(top_srcdir)/am/bootstrap.am
|
Loading…
Add table
Add a link
Reference in a new issue