Commit 79f80f5c authored by Alexander Strasser's avatar Alexander Strasser Committed by Michael Niedermayer

build: Allow building old API/ABI libpostproc version

  Allows our users to still build against a libpostproc with the old
API/ABI. Distributions can use this option to defer the soname bump.
Signed-off-by: 's avatarAlexander Strasser <eclipse7@gmx.net>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 5dfc7f73
......@@ -262,6 +262,8 @@ Advanced options (experts only):
--enable-sram allow use of on-chip SRAM
--disable-symver disable symbol versioning
--optflags override optimization-related compiler flags
--postproc-version=V build libpostproc version V.
Where V can be '$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO' or 'current'. [$postproc_version_default]
Developer options (useful when working on FFmpeg itself):
--enable-coverage build with test coverage instrumentation
......@@ -1319,6 +1321,7 @@ CMDLINE_SET="
target_exec
target_os
target_path
postproc_version
valgrind
yasmexe
"
......@@ -1789,6 +1792,7 @@ incdir_default='${prefix}/include'
libdir_default='${prefix}/lib'
mandir_default='${prefix}/share/man'
shlibdir_default="$libdir_default"
postproc_version_default="current"
# toolchain
ar_default="ar"
......@@ -1816,6 +1820,12 @@ cpu="generic"
target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
# alternative libpostproc version
ALT_PP_VER_MAJOR=51
ALT_PP_VER_MINOR=2
ALT_PP_VER_MICRO=101
ALT_PP_VER=$ALT_PP_VER_MAJOR.$ALT_PP_VER_MINOR.$ALT_PP_VER_MICRO
# configurable options
enable $PROGRAM_LIST
......@@ -2022,7 +2032,17 @@ if enabled cross_compile; then
die "Must specify target arch and OS when cross-compiling"
fi
set_default arch target_os
set_default arch target_os postproc_version
# Check if we should build alternative libpostproc version instead of current
if test "$postproc_version" = $ALT_PP_VER; then
LIBPOSTPROC_VERSION=$ALT_PP_VER
LIBPOSTPROC_VERSION_MAJOR=$ALT_PP_VER_MAJOR
LIBPOSTPROC_VERSION_MINOR=$ALT_PP_VER_MINOR
LIBPOSTPROC_VERSION_MICRO=$ALT_PP_VER_MICRO
elif test "$postproc_version" != current; then
die "Invalid argument to --postproc-version. See --help output."
fi
ar_default="${cross_prefix}${ar_default}"
cc_default="${cross_prefix}${cc_default}"
......@@ -3591,8 +3611,11 @@ EOF
get_version(){
name=$1
file=$source_path/$2
# This condition will be removed when we stop supporting old libpostproc versions
if ! test "$name" = LIBPOSTPROC || test "$postproc_version" = current; then
eval $(grep "#define ${name}_VERSION_M" "$file" | awk '{ print $2"="$3 }')
eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO
fi
lcname=$(tolower $name)
eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak
eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
......@@ -3669,6 +3692,12 @@ cat > $TMPH <<EOF
#define AVUTIL_AVCONFIG_H
EOF
test "$postproc_version" != current && cat >> $TMPH <<EOF
#define LIBPOSTPROC_VERSION_MAJOR $LIBPOSTPROC_VERSION_MAJOR
#define LIBPOSTPROC_VERSION_MINOR $LIBPOSTPROC_VERSION_MINOR
#define LIBPOSTPROC_VERSION_MICRO $LIBPOSTPROC_VERSION_MICRO
EOF
print_config AV_HAVE_ $TMPH $HAVE_LIST_PUB
echo "#endif /* AVUTIL_AVCONFIG_H */" >> $TMPH
......
......@@ -29,9 +29,11 @@
#include "libavutil/avutil.h"
#ifndef LIBPOSTPROC_VERSION_MAJOR
#define LIBPOSTPROC_VERSION_MAJOR 52
#define LIBPOSTPROC_VERSION_MINOR 0
#define LIBPOSTPROC_VERSION_MICRO 100
#endif
#define LIBPOSTPROC_VERSION_INT AV_VERSION_INT(LIBPOSTPROC_VERSION_MAJOR, \
LIBPOSTPROC_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment