[Ffmpeg-devel] [patch] DT_SONAME support?

Måns Rullgård mru
Sat Nov 26 00:37:11 CET 2005


Luca Barbato <lu_zero at gentoo.org> writes:

> Here a more or less clean patch. Please check if you consider it suitable.

> +  echo "SPPMAJOR=${lavc_version/\.[0,9]/}" >> config.mak
> +  echo "SPPVERSION=$lavc_version" >> config.mak
> +  echo "LAVCMAJOR=${lavc_version/\.[0,9]/}" >> config.mak
> +  echo "LAVCVERSION=$lavc_version" >> config.mak
> +  echo "LAVFMAJOR=${lavf_version/\.[0,9]/}" >> config.mak
> +  echo "LAVFVERSION=$lavf_version" >> config.mak
> +  echo "LAVUMAJOR=${lavu_version/\.[0,9]/}" >> config.mak
> +  echo "LAVUVERSION=$lavu_version" >> config.mak

What are those substitutions supposed to do?  I don't think they are
doing what you intend.  I think, judging from the variable names, that
you want something like ${lavc_version/.*}.  That will chop off
everything from the first period onward, leaving the major version
number.  What you wrote will remove the first occurrence of a period
followed by a digit 0, a digit 9 or a comma.  Those patterns are shell
globs, not regular expressions.

> Index: libavcodec/Makefile
> ===================================================================
> RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/Makefile,v
> retrieving revision 1.212
> diff -u -r1.212 Makefile
> --- libavcodec/Makefile	21 Nov 2005 20:03:35 -0000	1.212
> +++ libavcodec/Makefile	25 Nov 2005 21:16:02 -0000
> @@ -483,6 +483,7 @@
>  	$(CC) -o $@ $^ $(LIBAVUTIL) -lm
>  
>  ifeq ($(BUILD_SHARED),yes)
> +LIBVERSION=$(LAVCMAJOR)
>  install: all install-headers
>  ifeq ($(CONFIG_WIN32),yes)
>  	install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"

You need to create a symlink from DT_SONAME value to the installed
library.  Otherwise, no program linked against the library will run.

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list