[FFmpeg-devel] [PATCH] define _BSD_SOURCE for bktr.c

Diego Biurrun diego
Mon Dec 15 10:41:34 CET 2008


On Mon, Dec 15, 2008 at 02:50:48AM +0000, Jacob Meuser wrote:
> On Sun, Dec 14, 2008 at 02:10:03PM +0100, Diego Biurrun wrote:
> > On Sat, Dec 13, 2008 at 08:47:32PM +0000, Jacob Meuser wrote:
> > > On Sat, Dec 13, 2008 at 12:46:56PM +0100, Diego Biurrun wrote:
> > > > On Sat, Dec 13, 2008 at 03:01:27AM +0000, Jacob Meuser wrote:
> > > > > if you have specific questions, just ask.
> > > > 
> > > > patch-libavcodec_ppc_check_altivec_c: could be acceptable.
> > > > 
> > > > patch-configure: I merged some more parts, the rest needs an explanation.
> > > 
> > > haven't kept up with what is and isn't merged.  what parts still
> > > need to be explained?
> > 
> > The patch has 17 different hunks, hunks 5-7, 13, 14 are applied, hunk
> > 8 has been explained, the rest is mysterious.
> 
> (1) line 884 - OpenBSD has a v4l2 header as sys/videoio.h.

This hunk is already applied.

> (2) line 934 - use the hardware arch instead of machine arch.  this
> was sent to me from another developer.

Why don't you just pass --arch=WHATEVER to configure?

> (3) line 953 - soname is generally not used on OpenBSD.  it was causing
> problems, it is not necessary, so it was removed.  same with all the
> linker flags.  not needed, causes problems.  OpenBSD ld is older ...
> 
> (12) line 1717 - again, more unneeded linker flags causing problems
> 
> (15) line 1841 - linker flags ...

An alternative would be to disable vhook on OpenBSD, many platforms do
this.  But the real question would be: Why does check_ld fail?  It
should not add non-working linker flags.

> (4) line 965 - OpenBSD preferred library naming

This should be changed in the system-specific section (see darwin as an
example), not globally.  This is what I call a typical unacceptable
hack.

> (9) line 1531 - that was from ppc person.  I assume it is an issue
> with OpenBSD/ppc or the gcc version in OpenBSD.

IOW, it remains mysterious.  Patches without explanations should be
dropped IMO...

> (11) line 1607 - malloc.h is deprecated, use unistd.h instead.

You meant stdlib.h?  OpenBSD does not have malloc.h (any longer)?

Anyway, malloc.h is indeed only used in a few select places:

libavutil/mem.c:#include <malloc.h>
libswscale/yuv2rgb_bfin.c:#include <malloc.h>
libswscale/yuv2rgb_altivec.c:#include <malloc.h>
libswscale/swscale_bfin.c:#include <malloc.h>

It seems safe to remove the #include in all places except mem.c, which
uses memalign().  Is there an alternative to this?

> (16 & 17) - straighten out the library inter-dependencies.  only link
> libraries that are actually needed (only resolve undefined symbols).

Should be obsolete after the recent changes in this area.

> > > > patch-tests_regression_sh: half-merged, half mysterious
> > > 
> > > ports run the regression tests before installation.
> > 
> > Well, why don't you add the LD_LIBRARY_PATH to your script then instead
> > of patching regression.sh?  That would be way cleaner and not keep me
> > wondering what this is all about.
> 
> that was put there by the previous maintainer ... imo it's not all that
> mysterious.  no need to wonder, just ask.

IMO the cleaner solution is to add that environment variable to the call
of the regression test from whatever script you are using to run it.  No
need to patch the upstream sources.

Diego




More information about the ffmpeg-devel mailing list