From be7aa1bba701f3dce2a475c1fe37f4368e9a2893 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Fri, 14 Aug 2026 09:29:34 -1000 Subject: Move `gen-version.sh` into tools --- source/cgit.mk | 9 +++++---- source/gen-version.sh | 27 --------------------------- 2 files changed, 5 insertions(+), 31 deletions(-) delete mode 100755 source/gen-version.sh (limited to 'source') diff --git a/source/cgit.mk b/source/cgit.mk index 1cee1fb..0683cb7 100644 --- a/source/cgit.mk +++ b/source/cgit.mk @@ -9,12 +9,13 @@ # ../../build. include Makefile -# SRCDIR and BUILDDIR are named relative to the project root, matching the top -# level Makefile, because the version recipe changes into the root before using -# them. CGIT_SRC and CGIT_BUILD are the same two directories reached from +# TOOLSDIR and BUILDDIR are named relative to the project root, matching the +# top level Makefile, because the version recipe changes into the root before +# using them. CGIT_SRC and CGIT_BUILD lead to the sources and the output from # vendor/git, where everything else here runs. CGIT_ROOT = ../.. SRCDIR = source +TOOLSDIR = tools BUILDDIR = build CGIT_SRC = $(CGIT_ROOT)/$(SRCDIR) CGIT_BUILD = $(CGIT_ROOT)/$(BUILDDIR) @@ -27,7 +28,7 @@ CGIT_BUILD = $(CGIT_ROOT)/$(BUILDDIR) # Makefile, which exports them, rather than being defined in this file. $(CGIT_BUILD)/VERSION: force-version @mkdir -p $(CGIT_BUILD)/ - @cd $(CGIT_ROOT) && '$(SHELL_PATH_SQ)' $(SRCDIR)/gen-version.sh "$(CGIT_VERSION)" $(BUILDDIR)/VERSION + @cd $(CGIT_ROOT) && '$(SHELL_PATH_SQ)' $(TOOLSDIR)/gen-version.sh "$(CGIT_VERSION)" $(BUILDDIR)/VERSION -include $(CGIT_BUILD)/VERSION .PHONY: force-version diff --git a/source/gen-version.sh b/source/gen-version.sh deleted file mode 100755 index b28e987..0000000 --- a/source/gen-version.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Writes a "CGIT_VERSION = ..." line into the output file, which the build -# then includes. Run it from the project root, as gen-version.sh -# [output], so that git describe reports cgit rather than the bundled git -# submodule. The output file defaults to VERSION. - -version=$1 -output=${2:-VERSION} - -# Prefer what git describe reports, but only at the top of the cgit working -# tree, and keep the fallback when it has nothing to say, as in a shallow or -# tagless clone. -if test "$(git rev-parse --git-dir 2>/dev/null)" = '.git' -then - described=$(git describe --abbrev=4 HEAD 2>/dev/null) - test -n "$described" && version=$described -fi - -new="CGIT_VERSION = $version" -old=$(cat "$output" 2>/dev/null) - -# Leaving the file untouched when nothing changed keeps make from rebuilding -# everything that depends on it. -test "$old" = "$new" && exit 0 - -echo "$new" > "$output" -cat "$output" -- cgit v2.8.0