Browse Source

configure: support raising major version in soname

this allows seperate installation of shared libs that should not conflict with
whatever is already installed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.2-rc1
Michael Niedermayer 12 years ago
parent
commit
102b794e09
2 changed files with 11 additions and 2 deletions
  1. +3
    -0
      configure
  2. +8
    -2
      libavcodec/utils.c

+ 3
- 0
configure View File

@@ -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


+ 8
- 2
libavcodec/utils.c View File

@@ -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);
}


Loading…
Cancel
Save