Re: [MPlayer-dev-eng] [MPlayer-users] Build regression on FreeBSD
- Date: Mon, 21 Dec 2015 21:43:02 +0100
- From: Roberto Togni <rxt@xxxxxxxxx>
- Subject: Re: [MPlayer-dev-eng] [MPlayer-users] Build regression on FreeBSD
On Sun, 20 Dec 2015 22:05:01 +0100
Alexander Strasser <eclipse7@xxxxxxx> 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
MPlayer-dev-eng mailing list