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

Måns Rullgård mru
Sat Sep 9 16:52:09 CEST 2006


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

> Hi,
>
>> Diego Biurrun <diego at biurrun.de> writes:
>>
>>> On Fri, Sep 08, 2006 at 05:12:11PM +0200, V?ctor Paesa wrote:
>>>> > On Tue, Aug 22, 2006 at 12:38:18PM +0200, V?ctor Paesa wrote:
>>>> >>
>>>> >> So I give up, the patch attached disables vhook for static Cygwin
>>>> builds
>>>> >> (and enables it for shared builds).
>>>> >
>>>> > This patch does not apply anymore, thus it's rejected.
>>>>
>>>> Now adapted to SVN-6193
>>>
>>> Note: I'm still not entirely happy about static builds failing, thus I'm
>>> not sure if the patch will ever be applied.
>>>
> Well, we human are imperfect beings (I happen to be human), put that
> together with an imperfect platform, add a few buggy tools, and that
> produces the result that reaching 100% of goals is not possible.
> But probably reaching a 50% is better than 0% ...
>
> Anyway, I left this remaining 50% as a challenge, whoever solves static
> vhooks builds on Cygwin will get fame and glory.
> (and my gratitude for supporting a minority platform)
>
>>> Nevertheless, here are some comments...
>>>
>>>> --- ffmpeg-old/configure	2006-09-01 17:44:56.000000000 +0200
>>>> +++ ffmpeg/configure	2006-09-08 10:35:20.956116400 +0200
>>>> @@ -602,7 +602,11 @@
>>>> -vhook="no"
>>>> +VHOOKSHFLAGS="-shared"
>>>> +VHOOKLIBS='-Wl,--no-whole-archive \
>>>> +           -L../libavformat -lavformat$(BUILDSUF) \
>>>> +           -L../libavcodec  -lavcodec$(BUILDSUF)  \
>>>> +           -L../libavutil   -lavutil$(BUILDSUF) $(EXTRALIBS)'
>>>>  extralibs=""
>>>
>>> The -Wl part and the -L flags can be added to VHOOKSHFLAGS, thus leaving
>>> only the libs themselves in VHOOKLIBS.
>>
> OK.
>
>> What is the --no-whole-archive doing there in the first place?  It
>> only undoes --whole-archive, but we shouldn't be using that flag.
>>
> You're right, it has no effect now, I remove it.
> I reckon the --no-whole-archive is probably is a leftover from the very
> initial version of the patch, where I was using --whole-archive.
>
> As usual, patch attached.
>
> Regards,
> V?ctor Paesa
>
> diff -Naur -x img_format.h ffmpeg-old/configure ffmpeg/configure
> --- ffmpeg-old/configure	2006-09-01 17:44:56.000000000 +0200
> +++ ffmpeg/configure	2006-09-09 15:59:44.890625000 +0200
> @@ -602,7 +602,13 @@
>  v4l2="no"
>  audio_oss="yes"
>  dv1394="no"
> -vhook="no"
> +VHOOKSHFLAGS="-shared \
> +              -L../libavformat \
> +              -L../libavcodec \
> +              -L../libavutil"
> +VHOOKLIBS='-lavformat$(BUILDSUF) \
> +           -lavcodec$(BUILDSUF) \
> +           -lavutil$(BUILDSUF) $(EXTRALIBS)'

This includes literal \ characters in the value of VHOOKLIBS.  This is
not what you want.

>  extralibs=""
>  EXESUF=".exe"
>  SLIBPREF="cyg"
> @@ -874,6 +880,14 @@
>      logfile=/dev/null
>  fi
>  
> +# FIXME It should be posible to create vhooks for Cygwin static builds,
> +# I leave this as a challenge to linker script wizards.
> +if test "$targetos" = "CYGWIN" ; then
> +    if test "$lstatic" = "yes" ; then
> +        vhook="no"
> +    fi
> +fi

This should with the rest of the cygwin specific bits.  BTW, doesn't
it apply to mingw too?

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




More information about the ffmpeg-devel mailing list