diff --git a/configure b/configure index c7bb778054..e622cb734c 100755 --- a/configure +++ b/configure @@ -107,6 +107,7 @@ Configuration options: --disable-all disable building components, libraries and programs --enable-incompatible-libav-abi enable incompatible Libav fork ABI [no] --enable-incompatible-fork-abi enable incompatible Libav fork ABI (deprecated) [no] + --enable-raise-major increase major version numbers in sonames [no] Program options: --disable-programs do not build command line programs @@ -1365,6 +1366,7 @@ CONFIG_LIST=" network nonfree pic + raise_major rdft runtime_cpudetect safe_bitstream_reader @@ -5030,6 +5032,7 @@ get_version(){ name=$(toupper $lcname) file=$source_path/$lcname/version.h eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file") + enabled raise_major && eval ${name}_VERSION_MAJOR=$((${name}_VERSION_MAJOR+100)) eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 07947ddf39..b8a8d471f6 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -117,13 +117,19 @@ static int volatile entangled_thread_counter = 0; static void *codec_mutex; static void *avformat_mutex; +#if CONFIG_RAISE_MAJOR +# define LIBNAME "LIBAVCODEC_155" +#else +# define LIBNAME "LIBAVCODEC_55" +#endif + #if FF_API_FAST_MALLOC && CONFIG_SHARED && HAVE_SYMVER -FF_SYMVER(void*, av_fast_realloc, (void *ptr, unsigned int *size, size_t min_size), "LIBAVCODEC_55") +FF_SYMVER(void*, av_fast_realloc, (void *ptr, unsigned int *size, size_t min_size), LIBNAME) { return av_fast_realloc(ptr, size, min_size); } -FF_SYMVER(void, av_fast_malloc, (void *ptr, unsigned int *size, size_t min_size), "LIBAVCODEC_55") +FF_SYMVER(void, av_fast_malloc, (void *ptr, unsigned int *size, size_t min_size), LIBNAME) { av_fast_malloc(ptr, size, min_size); }