Message ID | 20231215125219.85897-1-martin@martin.st |
---|---|
State | Accepted |
Commit | 1e42a48e37228c679d3ab0764e53ffab62256ce8 |
Headers | show |
Series | [FFmpeg-devel] configure: Add a --disable-version-tracking option | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Fri, 15 Dec 2023, Martin Storsjö wrote: > This disables regenerating ffversion.h whenever the checked out > git commit changes, speeding up development rebuilds. > > Whenever this option is set, force the version to be printed as > "unknown" rather than showing potentially stale information. > --- > Makefile | 7 ++++++- > configure | 4 ++++ > 2 files changed, 10 insertions(+), 1 deletion(-) Any comments on the name here, or does this seem fine? Otherwise I'd go ahead with this in a day or two if there's no opposition to it. // Martin
Quoting Martin Storsjö (2023-12-20 09:12:21) > On Fri, 15 Dec 2023, Martin Storsjö wrote: > > > This disables regenerating ffversion.h whenever the checked out > > git commit changes, speeding up development rebuilds. > > > > Whenever this option is set, force the version to be printed as > > "unknown" rather than showing potentially stale information. > > --- > > Makefile | 7 ++++++- > > configure | 4 ++++ > > 2 files changed, 10 insertions(+), 1 deletion(-) > > Any comments on the name here, or does this seem fine? Otherwise I'd go > ahead with this in a day or two if there's no opposition to it. I am fine with the name and the general idea.
diff --git a/Makefile b/Makefile index 2fc3e538c1..dbc930270b 100644 --- a/Makefile +++ b/Makefile @@ -133,13 +133,18 @@ endif $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS) VERSION_SH = $(SRC_PATH)/ffbuild/version.sh +ifeq ($(VERSION_TRACKING),yes) GIT_LOG = $(SRC_PATH)/.git/logs/HEAD +endif .version: $(wildcard $(GIT_LOG)) $(VERSION_SH) ffbuild/config.mak .version: M=@ +ifneq ($(VERSION_TRACKING),yes) +libavutil/ffversion.h .version: REVISION=unknown +endif libavutil/ffversion.h .version: - $(M)$(VERSION_SH) $(SRC_PATH) libavutil/ffversion.h $(EXTRA_VERSION) + $(M)revision=$(REVISION) $(VERSION_SH) $(SRC_PATH) libavutil/ffversion.h $(EXTRA_VERSION) $(Q)touch .version # force version.sh to run whenever version might have changed diff --git a/configure b/configure index 7d2ee66000..9911428213 100755 --- a/configure +++ b/configure @@ -504,6 +504,7 @@ Developer options (useful when working on FFmpeg itself): --enable-macos-kperf enable macOS kperf (private) API --disable-large-tests disable tests that use a large amount of memory --disable-ptx-compression don't compress CUDA PTX code even when possible + --disable-version-tracking don't include the git/release version in the build NOTE: Object files are built at the place where configure is launched. EOF @@ -2576,6 +2577,7 @@ CMDLINE_SELECT=" optimizations rpath stripping + version_tracking " PATHS_LIST=" @@ -3980,6 +3982,7 @@ enable $DOCUMENT_LIST enable $EXAMPLE_LIST enable $LIBRARY_LIST enable stripping +enable version_tracking enable asm enable debug @@ -8013,6 +8016,7 @@ SAMPLES:=${samples:-\$(FATE_SAMPLES)} NOREDZONE_FLAGS=$noredzone_flags LIBFUZZER_PATH=$libfuzzer_path IGNORE_TESTS=$ignore_tests +VERSION_TRACKING=$version_tracking EOF map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> ffbuild/config.mak' $LIBRARY_LIST