binutils: use a no-op for makeinfo

This way, we don't have to touch every file generated from one we
patch.  It also makes it possible to do an out-of-tree build —
otherwise, the source files would be copied into the build directory
during Make, so there'd be no opportunity to touch some of them.

This same hack is already used by the minimal-bootstrap binutils.
This commit is contained in:
Alyssa Ross 2025-03-28 15:48:35 +01:00
parent d4f11e2f72
commit ea648ee3d7

View file

@ -147,22 +147,8 @@ stdenv.mkDerivation (finalAttrs: {
for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do
sed -i "$i" -e 's|ln |ln -s |'
done
# autoreconfHook is not included for all targets.
# Call it here explicitly as well.
${finalAttrs.postAutoreconf}
'';
postAutoreconf = ''
# As we regenerated configure build system tries hard to use
# texinfo to regenerate manuals. Let's avoid the dependency
# on texinfo in bootstrap path and keep manuals unmodified.
touch gas/doc/.dirstamp
touch gas/doc/asconfig.texi
touch gas/doc/as.1
touch gas/doc/as.info
'';
# As binutils takes part in the stdenv building, we don't want references
# to the bootstrap-tools libgcc (as uses to happen on arm/mips)
#
@ -247,6 +233,13 @@ stdenv.mkDerivation (finalAttrs: {
]
);
makeFlags = [
# As we regenerated configure build system tries hard to use
# texinfo to regenerate manuals. Let's avoid the dependency
# on texinfo in bootstrap path and keep manuals unmodified.
"MAKEINFO=true"
];
# Fails
doCheck = false;