[Ffmpeg-devel] libavutil conflict with system headers on Darwin

Diego Biurrun diego
Mon Dec 4 12:54:12 CET 2006


On Sun, Dec 03, 2006 at 05:27:55PM +0100, Reimar D?ffinger wrote:
> [...]
> > > It is usually reasonable to include system headers before ffmpeg
> > > headers, but that's not enough to avoid the problem. Other non-system
> > > headers besides ffmpeg ones can also use __attribute__((always_inline)),
> > > and it's not reasonable to require that ffmpeg headers must be included
> > > after those. It would be impossible to include headers from two projects
> > > with such "must appear last" requirements.
> > 
> > as these arent supposed to be vissible to the outside you can never have a
> > problem with headers from 2 projects ...
> 
> Unfortunately always_inline currently is visible outside. Probably a bad idea in
> looking back.
> Though I find this define a bit weird anyway, since is named the same
> way as one of its "components":
> #    define always_inline __attribute__((always_inline)) inline
> In addition it is inconsistent, e.g.:
> #    define attribute_used __attribute__((used))
> so attribute_always_inline would be more consistent (although
> always_inline is not only an attribute it also includes inline).

So my next suggestion is to rename it to

  attribute_always_inline

which is both more consistent and should avoid the name clash we are
currently suffering from.  Is that a workable solution?

Diego




More information about the ffmpeg-devel mailing list