[FFmpeg-devel] [PATCH 2/4] Define __EXTENSIONS__ to enable struct ip_mreq access on OpenSolaris.

Diego Biurrun diego
Mon Jan 5 22:34:45 CET 2009


On Mon, Sep 29, 2008 at 05:27:09PM -0700, Roman Shaposhnik wrote:
> On Sun, 2008-09-28 at 23:01 +0200, Diego 'Flameeyes' Petten? wrote:
> > "Roman V. Shaposhnik" <rvs at sun.com> writes:
> > 
> > > You shouldn't really tinker with __* stuff directly. IIRC, there's
> > > a more standard way of enabling ip_mreq (something along the lines
> > > of defining a proper combination of XPG* and POSIX version). I'd
> > > be very surprised if __EXTENSIONS__ were the only way to get what
> > > you want.
> > 
> > struct ip_mreq definition is protected by
> > 
> > #if !defined(_XPG4_2) || defined(__EXTENSIONS__)
> 
> This is weird. :-(
> 
> > Since FFmpeg builds with C99 and requires explicitly POSIX.1-2001
> > (-D_POSIX_C_SOURCE=200112L), as soon as _XOPEN_SOURCE is defined,
> > _XPG4_2 is also enabled; since there are a few cases where _XOPEN_SOURCE
> > is used, and it might well be that more will be introduced, it seems to
> > me the most solid option, to define __EXTENSIONS__, rather than relying
> > on _XOPEN_SOURCE *not* being defined.
> > 
> > Of course if you have a better idea...
> 
> Let me look at it and talk to our POSIX/XPG "standard lawyers". It 
> appears that defining __EXTENSIONS__ is, indeed, the only option.
> But I still suspect that shouldn't be the case.

Roman, any results?

Diego




More information about the ffmpeg-devel mailing list