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

[PATCH 01/13] make: undo Patrick's changes concerning Rust

From
Ezekiel Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Nov 27, 2025, 01:10 UTC
Message-ID
<12ab631072e6076f9dbcd905c62a42795ea9dbfa.1764205835.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.2110.git.git.1764205835.gitgitgadget@gmail.com>
From: Ezekiel Newren <ezekielnewren@gmail.com>
Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com>
---
 Makefile   | 49 -------------------------------------------------
 shared.mak |  1 -
 2 files changed, 50 deletions(-)
diff --git a/Makefile b/Makefile
index 7e0f77e298..28bc00e648 100644
--- a/Makefile
+++ b/Makefile
@@ -483,14 +483,6 @@ include shared.mak
 # Define LIBPCREDIR=/foo/bar if your PCRE header and library files are
 # in /foo/bar/include and /foo/bar/lib directories.
 #
-# == Optional Rust support ==
-#
-# Define WITH_RUST if you want to include features and subsystems written in
-# Rust into Git. For now, Rust is still an optional feature of the build
-# process. With Git 3.0 though, Rust will always be enabled.
-#
-# Building Rust code requires Cargo.
-#
 # == SHA-1 and SHA-256 defines ==
 #
 # === SHA-1 backend ===
@@ -691,7 +683,6 @@ OBJECTS =
 OTHER_PROGRAMS =
 PROGRAM_OBJS =
 PROGRAMS =
-RUST_SOURCES =
 EXCLUDED_PROGRAMS =
 SCRIPT_PERL =
 SCRIPT_PYTHON =
@@ -928,18 +919,6 @@ TEST_SHELL_PATH = $(SHELL_PATH)
 
 LIB_FILE = libgit.a
 
-ifdef DEBUG
-RUST_TARGET_DIR = target/debug
-else
-RUST_TARGET_DIR = target/release
-endif
-
-ifeq ($(uname_S),Windows)
-RUST_LIB = $(RUST_TARGET_DIR)/gitcore.lib
-else
-RUST_LIB = $(RUST_TARGET_DIR)/libgitcore.a
-endif
-
 GITLIBS = common-main.o $(LIB_FILE)
 EXTLIBS =
 
@@ -963,15 +942,6 @@ BASIC_LDFLAGS =
 ARFLAGS = rcs
 PTHREAD_CFLAGS =
 
-# Rust flags
-CARGO_ARGS =
-ifndef V
-CARGO_ARGS += --quiet
-endif
-ifndef DEBUG
-CARGO_ARGS += --release
-endif
-
 # For the 'sparse' target
 SPARSE_FLAGS ?= -std=gnu99 -D__STDC_NO_VLA__
 SP_EXTRA_FLAGS =
@@ -1333,9 +1303,7 @@ LIB_OBJS += urlmatch.o
 LIB_OBJS += usage.o
 LIB_OBJS += userdiff.o
 LIB_OBJS += utf8.o
-ifndef WITH_RUST
 LIB_OBJS += varint.o
-endif
 LIB_OBJS += version.o
 LIB_OBJS += versioncmp.o
 LIB_OBJS += walker.o
@@ -1534,9 +1502,6 @@ CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
 
 UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/test-lib.o
 
-RUST_SOURCES += src/lib.rs
-RUST_SOURCES += src/varint.rs
-
 GIT-VERSION-FILE: FORCE
 	@OLD=$$(cat $@ 2>/dev/null || :) && \
 	$(call version_gen,"$(shell pwd)",GIT-VERSION-FILE.in,$@) && \
@@ -1566,14 +1531,6 @@ endif
 ALL_CFLAGS = $(DEVELOPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_APPEND)
 ALL_LDFLAGS = $(LDFLAGS) $(LDFLAGS_APPEND)
 
-ifdef WITH_RUST
-BASIC_CFLAGS += -DWITH_RUST
-GITLIBS += $(RUST_LIB)
-ifeq ($(uname_S),Windows)
-EXTLIBS += -luserenv
-endif
-endif
-
 ifdef SANITIZE
 SANITIZERS := $(foreach flag,$(subst $(comma),$(space),$(SANITIZE)),$(flag))
 BASIC_CFLAGS += -fsanitize=$(SANITIZE) -fno-sanitize-recover=$(SANITIZE)
@@ -2963,12 +2920,6 @@ scalar$X: scalar.o GIT-LDFLAGS $(GITLIBS)
 $(LIB_FILE): $(LIB_OBJS)
 	$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
 
-$(RUST_LIB): Cargo.toml $(RUST_SOURCES)
-	$(QUIET_CARGO)cargo build $(CARGO_ARGS)
-
-.PHONY: rust
-rust: $(RUST_LIB)
-
 export DEFAULT_EDITOR DEFAULT_PAGER
 
 Documentation/GIT-EXCLUDED-PROGRAMS: FORCE
diff --git a/shared.mak b/shared.mak
index 0e7492076e..5c7bc94785 100644
--- a/shared.mak
+++ b/shared.mak
@@ -56,7 +56,6 @@ ifndef V
 	QUIET_MKDIR_P_PARENT  = @echo '   ' MKDIR -p $(@D);
 
 ## Used in "Makefile"
-	QUIET_CARGO    = @echo '   ' CARGO $@;
 	QUIET_CC       = @echo '   ' CC $@;
 	QUIET_AR       = @echo '   ' AR $@;
 	QUIET_LINK     = @echo '   ' LINK $@;
-- 
gitgitgadget
Previous: Ezekiel Newren via GitGitGadgetNext: Ezekiel Newren via GitGitGadget
Message 2 of 14 in “RFC: Convert to Cargo workspace”
  1. 00/13 RFC: Convert to Cargo workspaceEzekiel Newren via GitGitGadget, Nov 27, 2025
  2. 01/13 make: undo Patrick's changes concerning RustEzekiel Newren via GitGitGadget, Nov 27, 2025
  3. 02/13 meson: undo Patrick's changes concerning RustEzekiel Newren via GitGitGadget, Nov 27, 2025
  4. 03/13 cargo: convert from a crate to a workspaceEzekiel Newren via GitGitGadget, Nov 27, 2025
  5. 04/13 build: build Rust with Makefile and MesonEzekiel Newren via GitGitGadget, Nov 27, 2025
  6. 05/13 .gitignore: ignore /generated/Ezekiel Newren via GitGitGadget, Nov 27, 2025
  7. 06/13 cargo: create crate generate-headersEzekiel Newren via GitGitGadget, Nov 27, 2025
  8. 07/13 cargo: create crate link-with-cEzekiel Newren via GitGitGadget, Nov 27, 2025
  9. 08/13 rust/gitcore: link with cEzekiel Newren via GitGitGadget, Nov 27, 2025
  10. 09/13 varint.h: unsigned char -> uint8_tEzekiel Newren via GitGitGadget, Nov 27, 2025
  11. 10/13 make: delete files in generated/Ezekiel Newren via GitGitGadget, Nov 27, 2025
  12. 11/13 github-workflows: unify with rust parameters in make and mesonEzekiel Newren via GitGitGadget, Nov 27, 2025
  13. 12/13 github workflows: install RustEzekiel Newren via GitGitGadget, Nov 27, 2025
  14. 13/13 rust/build-rust.sh: update dir_git_root variable instantiationEzekiel Newren via GitGitGadget, Nov 27, 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.