[Ffmpeg-devel] [PATCH] Cygwin vhook, always static avformat

Måns Rullgård mru
Sun Jul 16 15:00:20 CEST 2006


V?ctor Paesa <wzrlpy at arsystel.com> writes:

> Hi,
>
> The next attempt on the vhook, shared lib Cygwin patches, attached.
>
> Diego wrote:
>>> --- ffmpeg-old/configure        2006-07-14 18:19:20.000000000 +0200
>>> +++ ffmpeg/configure        2006-07-14 20:32:42.437500000 +0200
>>> @@ -331,6 +331,7 @@
>>>  incdir='${prefix}/include/ffmpeg'
>>>  mandir='${prefix}/man'
>>>  bindir='${prefix}/bin'
>>> +shlibdir='$libdir'
>>
>>Tried the patch? ;-)
> Correct guess: I tried "make", it worked and I was happy, but I
> didn't tried "make install", that doesn't work. Shamefully sorry ...
>
>>IMO you should also add configure parameters for setting shlibdir etc.
>>
> I thought about it, but that would exceed the stated goal of allowing
> shared libraries under Cygwin, I will add them via another patch.
>
> Mans wrote:
>>> diff -Naur ffmpeg-old/configure ffmpeg/configure
>>> --- ffmpeg-old/configure        2006-07-14 18:19:20.000000000 +0200
>>> +++ ffmpeg/configure        2006-07-14 20:32:42.437500000 +0200
>>> @@ -331,6 +331,7 @@
>>>  incdir='${prefix}/include/ffmpeg'
>>>  mandir='${prefix}/man'
>>>  bindir='${prefix}/bin'
>>> +shlibdir='$libdir'
>>>  cross_prefix=""
>>>  cross_compile="no"
>>>  cc="gcc"
>>> @@ -585,6 +586,7 @@
>>>  mingw32="yes"
>>>  ;;
>>>  CYGWIN*)
>>> +shlibdir='$bindir'
>>>  v4l="no"
>>>  v4l2="no"
>>>  audio_oss="yes"
>>
>>Should be shlibdir='${whatever}'
>>
> Absolutely true until SVN-5754.
> At SVN-5754, shlibdir='${PREFIX}/lib' or shlibdir='${PREFIX}/bin'
>
>>> @@ -1557,6 +1564,7 @@
>>>  echo "libdir=\$(DESTDIR)$libdir" >> config.mak
>>>  echo "incdir=\$(DESTDIR)$incdir" >> config.mak
>>>  echo "bindir=\$(DESTDIR)$bindir" >> config.mak
>>> +echo "shlibdir=$shlibdir" >> config.mak
>>
>>shlibdir=\$(DESTDIR)$shlibdir
>>
> Not until SVN-5754, because $libdir/$bindir in config.mak already
> contained $(DESTDIR).
> But you're a good forseer :-) , because at SVN-5754, the way is
> certainly shlibdir=\$(DESTDIR)$shlibdir
>
>>>Wow, an almost clean patch.  Not even anything worthy of a good flame.
> Well, we Cygwin people are bound to be ethernally flamed, either by
> Unix or by Windows people, both find ways to fire up the torchs :-)
>
> Regards,
> V?ctor Paesa
>
> diff -Naur ffmpeg-5754-old/configure ffmpeg/configure
> --- ffmpeg-5754-old/configure	2006-07-15 23:00:24.468750000 +0200
> +++ ffmpeg/configure	2006-07-16 00:09:57.265625000 +0200
> @@ -587,7 +587,11 @@
>  v4l2="no"
>  audio_oss="yes"
>  dv1394="no"
> -vhook="no"
> +VHOOKFLAGS="-shared"
> +VHOOKLIBS='-Wl,--no-whole-archive \
> +           -L../libavformat -lavformat$(BUILDSUF) \
> +           -L../libavcodec  -lavcodec$(BUILDSUF)  \
> +           -L../libavutil   -lavutil$(BUILDSUF) $(EXTRALIBS)'

Why is this needed on cygwin but not elsewhere?  I guess it has
something to do with now dynamic symbols are resolved.  Wouldn't be
just as well to always link the vhook libs against lav[cfu]?  Doing so
would allow us to get rid of the -rdynamic stuff which is problematic
anyway (as in syntax and semantics varying wildly between platforms).

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




More information about the ffmpeg-devel mailing list