diff options
author | Sam James <sam@gentoo.org> | 2024-11-13 03:10:36 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-11-13 03:10:36 +0000 |
commit | 7dfc6696249c7d992801d1352ed36c6c0c48ae9a (patch) | |
tree | ce35954d7ff9aa0babde2cab90c607a337c29fde /dev-scheme | |
parent | sys-block/thin-provisioning-tools: Stabilize 1.0.14-r1 amd64, #943290 (diff) | |
download | gentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.tar.gz gentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.tar.bz2 gentoo-7dfc6696249c7d992801d1352ed36c6c0c48ae9a.zip |
dev-scheme/guile: fix 32-bit patch
As Stefan reports on the forums [0], regular Make conditions don't
work as expected in Automake. We'd end up having GUILE_OPTIMIZATIONS
set but Automake not realising it, so it'd use the default -O2 below,
which made stage0 far slower than it needed to be.
Fix that so that -O1 is always used when it should be, and the special
-O1 ... options are needed for 32-bit BE, as originally intended. -O2
is now never used for stage0.
This fixes slow guile build times on platforms with prebuilt/.
(I will note, however, that ultimately, we may end up with slow build
times again if we either delete the prebuilt/ stuff entirely or make it
optional - which is indeed how I didn't notice it myself at least.)
[0] https://forums.gentoo.org/viewtopic-p-8845997.html#8845997
Bug: https://bugs.gentoo.org/940650
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r-- | dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch b/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch index 6417f639b5df..a4e575691293 100644 --- a/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch +++ b/dev-scheme/guile/files/guile-3.0-fix-32bit-BE.patch @@ -1,8 +1,17 @@ https://bugs.gentoo.org/940650#c4 -https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=977223;filename=guile-3.0-fix-32bit-BE.patch;msg=66 - -diff --git a/stage0/Makefile.am b/stage0/Makefile.am -index 12029fb45..b00611df0 100644 +https://bugs.debian.org/977223 +https://sources.debian.org/patches/guile-3.0/3.0.8-2/0009-Fix-32-bit-big-endian-builds-via-Oresolve-primitives.patch/ +--- a/configure.ac ++++ b/configure.ac +@@ -374,6 +374,8 @@ esac + AC_MSG_RESULT($SCM_PREBUILT_BINARIES) + AC_SUBST([SCM_PREBUILT_BINARIES]) + ++AM_CONDITIONAL([GUILE_32_BIT_BIG_ENDIAN], [test "$SCM_PREBUILT_BINARIES" = 32-bit-big-endian]) ++ + AC_HEADER_SYS_WAIT + AC_HEADER_DIRENT + --- a/stage0/Makefile.am +++ b/stage0/Makefile.am @@ -22,7 +22,12 @@ @@ -10,11 +19,11 @@ index 12029fb45..b00611df0 100644 GUILE_WARNINGS = -W0 -GUILE_OPTIMIZATIONS = -O1 -+$(ifeq($SCM_PREBUILT_BINARIES,"32-bit-little-endian") \ -+ GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps \ -+else \ -+ GUILE_OPTIMIZATIONS = -O1 \ -+endif) ++if GUILE_32_BIT_BIG_ENDIAN ++GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps ++else ++GUILE_OPTIMIZATIONS = -O1 ++endif + GUILE_BOOTSTRAP_STAGE = stage0 |