aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-18 05:20:11 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-22 20:21:18 +0100
commit102b794e09482fec881e7ec903e57914895f9b74 (patch)
treeac46c2dcb072cf682392066789a472c0c97f96e0
parent88956f73f29c9f066718b4c83bb628872990b879 (diff)
downloadffmpeg-102b794e09482fec881e7ec903e57914895f9b74.tar.gz
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>
-rwxr-xr-xconfigure3
-rw-r--r--libavcodec/utils.c10
2 files changed, 11 insertions, 2 deletions
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);
}