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

Roman Shaposhnik rvs
Tue Sep 30 02:27:09 CEST 2008

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.


More information about the ffmpeg-devel mailing list