texlive[60055] Build/source/texk/web2c: (lib/lib.a): explicitly list
commits+karl at tug.org
commits+karl at tug.org
Sun Jul 25 19:24:28 CEST 2021
Revision: 60055
http://tug.org/svn/texlive?view=revision&revision=60055
Author: karl
Date: 2021-07-25 19:24:28 +0200 (Sun, 25 Jul 2021)
Log Message:
-----------
(lib/lib.a): explicitly list lib/*.c minus texmfmp.c as dependencies
Modified Paths:
--------------
trunk/Build/source/texk/web2c/ChangeLog
trunk/Build/source/texk/web2c/Makefile.am
trunk/Build/source/texk/web2c/Makefile.in
Modified: trunk/Build/source/texk/web2c/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/ChangeLog 2021-07-25 16:07:35 UTC (rev 60054)
+++ trunk/Build/source/texk/web2c/ChangeLog 2021-07-25 17:24:28 UTC (rev 60055)
@@ -1,3 +1,9 @@
+2021-07-25 Karl Berry <karl at freefriends.org>
+
+ * Makefile.am (proglib_sources): laboriously list all of lib/*.c
+ except texmfmp.c as dependencies, since texmfmp.c is not a
+ dependency of lib.a.
+
2021-07-25 Petr Olsak <petr at olsak.net>
and Karl Berry <karl at freefriends.org>
and Hironori Kitagawa <h_kitagawa2001 at yahoo.co.jp>
Modified: trunk/Build/source/texk/web2c/Makefile.am
===================================================================
--- trunk/Build/source/texk/web2c/Makefile.am 2021-07-25 16:07:35 UTC (rev 60054)
+++ trunk/Build/source/texk/web2c/Makefile.am 2021-07-25 17:24:28 UTC (rev 60055)
@@ -78,8 +78,32 @@
web2c/stamp-makecpool: $(web2c_common) ${srcdir}/web2c/makecpool.c
cd web2c && $(MAKE) $(AM_MAKEFLAGS) stamp-makecpool
-# Rebuild $(proglib)
-$(proglib): ${srcdir}/lib/*.c
+# Rebuild $(proglib). We have to list all the sources,
+# not use *.c, because texmfmp.c is not part of lib.a.
+# Otherwise make will think that lib.a will need to be remade when
+# texmfmp.c is changed, even though it doesn't. The result is that we
+# will see the ctangle calls for every cweb program, since ctangleboot
+# depends on lib.a, but isn't getting remade. So this ad hoc variable is
+# a copy of lib_a_SOURCES in lib/Makefile.am, with "${srcdir}/lib/" prepended.
+proglib_sources = \
+ ${srcdir}/lib/basechsuffix.c \
+ ${srcdir}/lib/chartostring.c \
+ ${srcdir}/lib/coredump.c \
+ ${srcdir}/lib/eofeoln.c \
+ ${srcdir}/lib/fprintreal.c \
+ ${srcdir}/lib/inputint.c \
+ ${srcdir}/lib/input2int.c \
+ ${srcdir}/lib/lib.h \
+ ${srcdir}/lib/main.c \
+ ${srcdir}/lib/openclose.c \
+ ${srcdir}/lib/printversion.c \
+ ${srcdir}/lib/setupvar.c \
+ ${srcdir}/lib/uexit.c \
+ ${srcdir}/lib/usage.c \
+ ${srcdir}/lib/version.c \
+ ${srcdir}/lib/zround.c
+
+$(proglib): $(proglib_sources)
cd lib && $(MAKE) $(AM_MAKEFLAGS) lib.a
## Rebuild libkpathsea
@KPATHSEA_RULE@
Modified: trunk/Build/source/texk/web2c/Makefile.in
===================================================================
--- trunk/Build/source/texk/web2c/Makefile.in 2021-07-25 16:07:35 UTC (rev 60054)
+++ trunk/Build/source/texk/web2c/Makefile.in 2021-07-25 17:24:28 UTC (rev 60055)
@@ -3647,6 +3647,32 @@
# programs that do not depend on tangle or ctangle.
default_dependencies = $(proglib) $(KPATHSEA_DEPEND)
+# Rebuild $(proglib). We have to list all the sources,
+# not use *.c, because texmfmp.c is not part of lib.a.
+# Otherwise make will think that lib.a will need to be remade when
+# texmfmp.c is changed, even though it doesn't. The result is that we
+# will see the ctangle calls for every cweb program, since ctangleboot
+# depends on lib.a, but isn't getting remade. So this ad hoc variable is
+# a copy of lib_a_SOURCES in lib/Makefile.am, with "${srcdir}/lib/" prepended.
+proglib_sources = \
+ ${srcdir}/lib/basechsuffix.c \
+ ${srcdir}/lib/chartostring.c \
+ ${srcdir}/lib/coredump.c \
+ ${srcdir}/lib/eofeoln.c \
+ ${srcdir}/lib/fprintreal.c \
+ ${srcdir}/lib/inputint.c \
+ ${srcdir}/lib/input2int.c \
+ ${srcdir}/lib/lib.h \
+ ${srcdir}/lib/main.c \
+ ${srcdir}/lib/openclose.c \
+ ${srcdir}/lib/printversion.c \
+ ${srcdir}/lib/setupvar.c \
+ ${srcdir}/lib/uexit.c \
+ ${srcdir}/lib/usage.c \
+ ${srcdir}/lib/version.c \
+ ${srcdir}/lib/zround.c
+
+
# The environment for building.
buildenv = TEXMFCNF=$(srcdir)/../kpathsea
@@ -21007,8 +21033,7 @@
web2c/stamp-makecpool: $(web2c_common) ${srcdir}/web2c/makecpool.c
cd web2c && $(MAKE) $(AM_MAKEFLAGS) stamp-makecpool
-# Rebuild $(proglib)
-$(proglib): ${srcdir}/lib/*.c
+$(proglib): $(proglib_sources)
cd lib && $(MAKE) $(AM_MAKEFLAGS) lib.a
@KPATHSEA_RULE@
@PTEXENC_RULE@
More information about the tex-live-commits
mailing list.