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.