From bea841a7430c34c99817a056b408c58a73034e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 16 Mar 2022 19:42:37 +0200 Subject: [PATCH] Fix libversion.sh for split version headers, to unbreak shared library builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- ffbuild/library.mak | 4 ++-- ffbuild/libversion.sh | 4 ++++ libavutil/version_major.h | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 libavutil/version_major.h diff --git a/ffbuild/library.mak b/ffbuild/library.mak index ad09f20da9..793e9d41fa 100644 --- a/ffbuild/library.mak +++ b/ffbuild/library.mak @@ -52,8 +52,8 @@ $(LIBOBJS): CPPFLAGS += -DBUILDING_$(NAME) $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o $$(LD) $(LDFLAGS) $(LDEXEFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) $(FFEXTRALIBS) $$(EXTRALIBS-$$(*F)) $$(ELIBS) -$(SUBDIR)lib$(NAME).version: $(SUBDIR)version.h | $(SUBDIR) - $$(M) $$(SRC_PATH)/ffbuild/libversion.sh $(NAME) $$< > $$@ +$(SUBDIR)lib$(NAME).version: $(SUBDIR)version.h $(SUBDIR)version_major.h | $(SUBDIR) + $$(M) $$(SRC_PATH)/ffbuild/libversion.sh $(NAME) $$^ > $$@ $(SUBDIR)lib$(FULLNAME).pc: $(SUBDIR)version.h ffbuild/config.sh | $(SUBDIR) $$(M) $$(SRC_PATH)/ffbuild/pkgconfig_generate.sh $(NAME) "$(DESC)" diff --git a/ffbuild/libversion.sh b/ffbuild/libversion.sh index 990ce9f640..a94ab58057 100755 --- a/ffbuild/libversion.sh +++ b/ffbuild/libversion.sh @@ -5,8 +5,12 @@ toupper(){ name=lib$1 ucname=$(toupper ${name}) file=$2 +file2=$3 eval $(awk "/#define ${ucname}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file") +if [ -f "$file2" ]; then + eval $(awk "/#define ${ucname}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file2") +fi eval ${ucname}_VERSION=\$${ucname}_VERSION_MAJOR.\$${ucname}_VERSION_MINOR.\$${ucname}_VERSION_MICRO eval echo "${name}_VERSION=\$${ucname}_VERSION" eval echo "${name}_VERSION_MAJOR=\$${ucname}_VERSION_MAJOR" diff --git a/libavutil/version_major.h b/libavutil/version_major.h new file mode 100644 index 0000000000..e4db2e34db --- /dev/null +++ b/libavutil/version_major.h @@ -0,0 +1,25 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_VERSION_MAJOR_H +#define AVUTIL_VERSION_MAJOR_H + +/* This file is intentionally empty; it's only kept to fulfill make + * dependencies for ffbuild/libversion.sh. It is not installed. */ + +#endif /* AVUTIL_VERSION_MAJOR_H */