[MPlayer-dev-eng] [MPlayer-users] Build regression on FreeBSD
eclipse7 at gmx.net
Mon Dec 21 22:20:40 CET 2015
On 2015-12-21 21:43 +0100, Roberto Togni wrote:
> On Sun, 20 Dec 2015 22:05:01 +0100
> Alexander Strasser <eclipse7 at gmx.net> wrote:
> > 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 I am not mistaken this is the changeset from Thomas:
This is the change to the Makefile patch which extends HOSTCFLAGS only:
There are more changes to configure and MPlayer's Makefile
in those patch files, I did not check all of them. Maybe Thomas
> 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.
I would favour this solutions too.
More information about the MPlayer-dev-eng