mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Rework bootstrap to be reproducible
* configure.ac: * Makefile.am (SUBDIRS): Replace bootstrap/ with stage0, stage1, and stage2. * am/bootstrap.am: Include all files and all rules. * meta/build-env.in (GUILE_AUTO_COMPILE): Always turn off auto-compilation. Take a GUILE_BOOTSTRAP_STAGE argument, which can be stage0, stage1, stage2, or unset. Adapt the load-compiled path accordingly. * meta/uninstalled-env.in: Include .go files from stage2. * module/Makefile.am: Rework to use boostrap.am. * module/system/base/optimize.scm (available-optimizations): Punt the inlinable-exports machinery to -O2. * stage0/Makefile.am: * stage1/Makefile.am: * stage2/Makefile.am: New files.
This commit is contained in:
parent
6ed66f42cb
commit
9b9149a5bf
10 changed files with 474 additions and 480 deletions
|
@ -40,6 +40,9 @@ top_builddir="@top_builddir_absolute@"
|
|||
exit 1
|
||||
}
|
||||
|
||||
GUILE_AUTO_COMPILE=0
|
||||
export GUILE_AUTO_COMPILE
|
||||
|
||||
# When cross-compiling, let $GUILE_FOR_BUILD use its own .go files since
|
||||
# the ones that are being built may be incompatible ($GUILE_FOR_BUILD is
|
||||
# typically used to run `guild compile --target=$host'.) Likewise,
|
||||
|
@ -54,7 +57,12 @@ then
|
|||
GUILE_LOAD_PATH="$GUILE_LOAD_PATH:${top_builddir}/module:${top_builddir}/guile-readline"
|
||||
fi
|
||||
export GUILE_LOAD_PATH
|
||||
GUILE_LOAD_COMPILED_PATH="${top_builddir}/module:${top_builddir}/bootstrap:${top_srcdir}/prebuilt/@SCM_PREBUILT_BINARIES@:${top_builddir}/guile-readline"
|
||||
case "$GUILE_BOOTSTRAP_STAGE" in
|
||||
stage0) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage0:${top_srcdir}/prebuilt/@SCM_PREBUILT_BINARIES@" ;;
|
||||
stage1) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1:${top_builddir}/stage0" ;;
|
||||
stage2) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1" ;;
|
||||
*) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage2:${top_builddir}/guile-readline" ;;
|
||||
esac
|
||||
export GUILE_LOAD_COMPILED_PATH
|
||||
|
||||
# Don't look in installed dirs for guile modules
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011, 2012, 2015, 2017 Free Software Foundation
|
||||
# Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011, 2012, 2015, 2017, 2022 Free Software Foundation
|
||||
#
|
||||
# This file is part of GUILE.
|
||||
#
|
||||
|
@ -80,7 +80,7 @@ then
|
|||
fi
|
||||
export GUILE_LOAD_PATH
|
||||
|
||||
for d in "/prebuilt/@SCM_PREBUILT_BINARIES@" "/bootstrap" "/module" "/guile-readline"
|
||||
for d in "/prebuilt/@SCM_PREBUILT_BINARIES@" "/stage2" "/guile-readline"
|
||||
do
|
||||
# This hair prevents double inclusion.
|
||||
# The ":" prevents prefix aliasing.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue