git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 1/2] make: delete XDIFF_LIB, add xdiff to LIB_OBJS

From
Ezekiel Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Oct 2, 2025, 23:27 UTC
Message-ID
<b535a456ae7e02c518de2637381ee6c6efc7da48.1759447647.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.2065.v2.git.git.1759447647.gitgitgadget@gmail.com>
From: Ezekiel Newren <ezekielnewren@gmail.com>

In a future patch series the 'xdiff' Rust crate will be added. Delete the creation of the static library file for xdiff to avoid a name conflict. This also moves toward the goal of Rust only needing to link against libgit.a.

Changes to Meson are not required as the xdiff library is already included in Meson's libgit.a.

xdiff-objs was a historical make target to allow building just the objects in xdiff. Since it was defined in terms of XDIFF_OBJS (which no longer exists) this convenience make target no longer makes sense. Remove it.

Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com>
---
 Makefile | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/Makefile b/Makefile
index 92fd8d86d8..d37edd3d03 100644
--- a/Makefile
+++ b/Makefile
@@ -918,7 +918,6 @@ export PYTHON_PATH
 TEST_SHELL_PATH = $(SHELL_PATH)
 
 LIB_FILE = libgit.a
-XDIFF_LIB = xdiff/lib.a
 REFTABLE_LIB = reftable/libreftable.a
 
 GENERATED_H += command-list.h
@@ -1209,6 +1208,13 @@ LIB_OBJS += write-or-die.o
 LIB_OBJS += ws.o
 LIB_OBJS += wt-status.o
 LIB_OBJS += xdiff-interface.o
+LIB_OBJS += xdiff/xdiffi.o
+LIB_OBJS += xdiff/xemit.o
+LIB_OBJS += xdiff/xhistogram.o
+LIB_OBJS += xdiff/xmerge.o
+LIB_OBJS += xdiff/xpatience.o
+LIB_OBJS += xdiff/xprepare.o
+LIB_OBJS += xdiff/xutils.o
 
 BUILTIN_OBJS += builtin/add.o
 BUILTIN_OBJS += builtin/am.o
@@ -1390,8 +1396,8 @@ CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
 
 UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/test-lib.o
 
-# xdiff and reftable libs may in turn depend on what is in libgit.a
-GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(LIB_FILE)
+# reftable lib may in turn depend on what is in libgit.a
+GITLIBS = common-main.o $(LIB_FILE) $(REFTABLE_LIB) $(LIB_FILE)
 EXTLIBS =
 
 GIT_USER_AGENT = git/$(GIT_VERSION)
@@ -2723,16 +2729,6 @@ reconfigure config.mak.autogen: config.status
 .PHONY: reconfigure # This is a convenience target.
 endif
 
-XDIFF_OBJS += xdiff/xdiffi.o
-XDIFF_OBJS += xdiff/xemit.o
-XDIFF_OBJS += xdiff/xhistogram.o
-XDIFF_OBJS += xdiff/xmerge.o
-XDIFF_OBJS += xdiff/xpatience.o
-XDIFF_OBJS += xdiff/xprepare.o
-XDIFF_OBJS += xdiff/xutils.o
-.PHONY: xdiff-objs
-xdiff-objs: $(XDIFF_OBJS)
-
 REFTABLE_OBJS += reftable/basics.o
 REFTABLE_OBJS += reftable/error.o
 REFTABLE_OBJS += reftable/block.o
@@ -2767,7 +2763,6 @@ OBJECTS += $(GIT_OBJS)
 OBJECTS += $(SCALAR_OBJS)
 OBJECTS += $(PROGRAM_OBJS)
 OBJECTS += $(TEST_OBJS)
-OBJECTS += $(XDIFF_OBJS)
 OBJECTS += $(FUZZ_OBJS)
 OBJECTS += $(REFTABLE_OBJS) $(REFTABLE_TEST_OBJS)
 OBJECTS += $(UNIT_TEST_OBJS)
@@ -2921,9 +2916,6 @@ scalar$X: scalar.o GIT-LDFLAGS $(GITLIBS)
 $(LIB_FILE): $(LIB_OBJS)
 	$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
 
-$(XDIFF_LIB): $(XDIFF_OBJS)
-	$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
-
 $(REFTABLE_LIB): $(REFTABLE_OBJS)
 	$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
 
@@ -3765,7 +3757,7 @@ clean: profile-clean coverage-clean cocciclean
 	$(RM) git.rc git.res
 	$(RM) $(OBJECTS)
 	$(RM) headless-git.o
-	$(RM) $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB)
+	$(RM) $(LIB_FILE) $(REFTABLE_LIB)
 	$(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS)
 	$(RM) $(TEST_PROGRAMS)
 	$(RM) $(FUZZ_PROGRAMS)
@@ -3959,7 +3951,6 @@ endif
 LIBGIT_PUB_OBJS += contrib/libgit-sys/public_symbol_export.o
 LIBGIT_PUB_OBJS += libgit.a
 LIBGIT_PUB_OBJS += reftable/libreftable.a
-LIBGIT_PUB_OBJS += xdiff/lib.a
 
 LIBGIT_PARTIAL_EXPORT = contrib/libgit-sys/partial_symbol_export.o
 
-- 
gitgitgadget
Previous: Ezekiel Newren via GitGitGadgetNext: Ezekiel Newren via GitGitGadget
Message 20 of 23 in “Makefile update libgit.a: Include xdiff and reftable in libgit.a”
  1. 0/3 Makefile update libgit.a: Include xdiff and reftable in libgit.aEzekiel Newren via GitGitGadget, Oct 1, 2025
  2. 1/3 make: move xdiff and reftable objects before GITLIBSEzekiel Newren via GitGitGadget, Oct 1, 2025
  3. 2/3 make: delete XDIFF_LIB, add xdiff to LIB_OBJSEzekiel Newren via GitGitGadget, Oct 1, 2025
  4. Patrick SteinhardtOct 2, 2025
  5. Junio C HamanoOct 2, 2025
  6. Patrick SteinhardtOct 2, 2025
  7. Ezekiel NewrenOct 2, 2025
  8. Junio C HamanoOct 2, 2025
  9. Ezekiel NewrenOct 2, 2025
  10. Ezekiel NewrenOct 2, 2025
  11. 3/3 make: delete REFTABLE_LIB, add reftable to LIB_OBJSEzekiel Newren via GitGitGadget, Oct 1, 2025
  12. Patrick SteinhardtOct 2, 2025
  13. Junio C HamanoOct 2, 2025
  14. Ezekiel NewrenOct 2, 2025
  15. Junio C HamanoOct 1, 2025
  16. Ezekiel NewrenOct 2, 2025
  17. Junio C HamanoOct 2, 2025
  18. Ezekiel NewrenOct 2, 2025
  19. 0/2 Makefile update libgit.a: Include xdiff and reftable in libgit.aEzekiel Newren via GitGitGadget, Oct 2, 2025
  20. 1/2 make: delete XDIFF_LIB, add xdiff to LIB_OBJSEzekiel Newren via GitGitGadget, Oct 2, 2025
  21. 2/2 make: delete REFTABLE_LIB, add reftable to LIB_OBJSEzekiel Newren via GitGitGadget, Oct 2, 2025
  22. Junio C HamanoOct 3, 2025
  23. Patrick SteinhardtOct 8, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.