[MPlayer-dev-eng] [PATCH][RFC] configure: Invoke FFmpeg's configure

wm4 nfxjfg at googlemail.com
Wed Jan 10 00:01:38 EET 2018


On Mon, 8 Jan 2018 22:14:24 +0100
Alexander Strasser <eclipse7 at gmx.net> wrote:

> This is not a finished patch. I want to gather opinions on
> going this route to pave the way for further development.
> 
> One downside of this patch is that configure will be slower.
> On my tests running configure took twice as long. Though I
> think, if we take into account the frustration it saves for
> users building MPlayer and the time it saves for developers,
> it should be OK.
> 
> Here is a probably incomplete list of TODOs:
> 
> * pass on build tools related options
>   (like selected compiler, crosscompiling etc.)
> * better merging of the additionally needed libs into extra_ldflags
> * use libs autodetected by MPlayer's configure to enable features in FFmpeg
> * remove some stuff that is no longer needed to be done in MPlayer's
>   configure (as long as it isn't too time consuming to do)
> * show summarized results of FFmpeg's configure in MPlayer's configure output
> * test more thoroughly
> * test on more platforms
> 
> HOWEVER after completion of those points, this will still only be
> a short to mid term solution. It should give us time to discuss and
> find a long term direction and eventually implement that step
> by step. That new discussion should be started in a dedicated mail
> thread. I can do it after we have decided about this approach.
> 
> Here follows the promised data on how often we change configure:
> 
>   * Starting from 2017-01-01 to 2017-01-07 there were 109 commits in total
>     * 78/109 commits (~71.6%) were *not* touching configure
>     * 31/109 commits (~28.4%) were touching configure
>       * 26/31 commits (~83.9%) related to FFmpeg's build system somehow
>       *  5/31 commits (~16,1%) not related to FFmpeg's build system somehow
> 
> Some of that 26 commits related to FFmpeg's build system are not
> a direct response to a change in FFmpeg but probably wouldn't have
> been needed if we would run FFmpeg's configure as is proposed in this
> patch. I didn't closely look at all commit diffs, and there might be
> some errors in how I processed or catagorized the data. I will post
> the data in subsequent reply, so others can have a look and/or
> investigate on their own.
> 
> I am eagerly waiting for your comments. Let's move forward tackling
> the recurring problems with the build system.
> 
>   Alexander
> 
> ---
>  configure | 85 +++++++++------------------------------------------------------
>  1 file changed, 11 insertions(+), 74 deletions(-)
> 
> diff --git a/configure b/configure
> index f62865248..4832c1a4b 100755
> --- a/configure
> +++ b/configure
> @@ -8235,6 +8235,17 @@ else
>  fi
>  echores "$_dvdnav"
>  
> +if test "$ffmpeg_a" != "no" ; then
> +  echocheck "Configuring internal FFmpeg"
> +  res_internal_ffmpeg_configured="no"
> +  if (cd ffmpeg && ./configure --enable-gpl >/dev/null 2>&1) then
> +    res_internal_ffmpeg_configured="yes"
> +  fi

> +  ffmpeg_extra_libs="$(awk -F= '/^EXTRALIBS/ { if ($2 != "") s[$2] } END { for (extralibs in s) { all_libs = all_libs " " extralibs } ; print all_libs }' ffmpeg/ffbuild/config.mak)"
> +  extra_ldflags="$extra_ldflags $ffmpeg_extra_libs"
> +  echores "$res_internal_ffmpeg_configured"
> +fi
> +
>  extra_ldflags="$extra_ldflags $libm"

Does this intend to grab dependencies needed by ffmpeg? Just use the
pkg-config files instead of accessing build system internals.


More information about the MPlayer-dev-eng mailing list