[MPlayer-dev-eng] [MPlayer-users] Build regression on FreeBSD

Roberto Togni rxt at rtogni.it
Mon Dec 21 21:43:02 CET 2015

On Sun, 20 Dec 2015 22:05:01 +0100
Alexander Strasser <eclipse7 at gmx.net> wrote:

> Hi Thomas,
> AFAICT there are multiple problems at work, that make a
> quick solution rather involved or hackish. That's why I
> have Cc'ed MPlayer development mailing list.
> On 2015-12-19 20:21 +0100, Thomas Zander wrote:
> > porting an up-to-date snapshot to FreeBSD I noticed two build
> > regressions and want to kindly ask for resolving those upstream:
> > 
> > 1) Makefile (at root dir)
> >    codec-cfg.c now includes <vdpau/vdpau.h>
> >    On FreeBSD this file ends up in LOCALBASE (by default
> >    /usr/local/include) which is not included in the default compiler
> >    search path, so in its build target
> >    codec-cfg$(EXESUF) .... the compile command
> >    $(HOST_CC) $(HOSTCFLAGS) -o $@ $<
> >    is not sufficient. The include path for localbase needs to be added.
>   I guess r37454 introduced this problem, by including vdpau.h in
> our img_format.h header. It cannot be reverted because that would
> probably break the build with future FFmpeg versions.
>   The problem is if we want to use external stuff, which cannot be
> forward declared, in img_format.h we need to add additional flags
> to HOSTCFLAGS as well.
>   Furthermore it is interesing that vdpau gets detected at all on
> your system. I suspect this is because of manual addition to CFLAGS
> or because of modification by previous configure tests.
>   I might be missing a few things, but all in all I do not see why
> we need the structure vdpau_frame_data in codec-cfg.c source. So
> maybe the structure should be defined in a different header?
>   All in all I see no really easy way to set HOSTCFLAGS correctly.
> Additionally I am not sure if the work is justified, because if
> I am not mistaken above it is not needed in codec-cfg.
Do you see the failure only in codec-cfg.c or also in the other files
including vdpau.h (vd_ffmpeg and vo_vdpau)?

If it's only codec-cgg.c, the easiest way is to move the structure
somewhere else; I guess it was put there only because img_format.h is
included both in vd_ffmpeg and vo_vdpau.
The struct has always been there, but it was not using any field
requiring external vdpau headers before.

If you can confirm that the problem is only with codec-cfg.c I'll just
move the struct and the include; best candidates are vo_out.h, vd.h or a
dedicated header.


More information about the MPlayer-dev-eng mailing list