[Ffmpeg-devel] libavutil conflict with system headers on Darwin
Michael Niedermayer
michaelni
Sun Dec 3 02:20:47 CET 2006
Hi
On Sat, Dec 02, 2006 at 09:03:20PM +0100, Diego Biurrun wrote:
> On Tue, Nov 28, 2006 at 05:58:11PM +0000, M?ns Rullg?rd wrote:
> > Diego Biurrun <diego at biurrun.de> writes:
> >
> > > On Sat, Nov 25, 2006 at 05:42:58PM -0500, Alexander Strange wrote:
> > >> This no longer compiles:
> > >> #include <libavutil/common.h>
> > >> #include <math.h>
> > >>
> > >> because of:
> > >> #ifndef always_inline
> > >> #if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
> > >> # define always_inline __attribute__((always_inline)) inline
> > >> #else
> > >> # define always_inline inline
> > >> #endif
> > >> #endif
> > >>
> > >> on common.h:55.
> > >>
> > >> On Darwin, some headers use __attribute__((always_inline)) on their
> > >> own, which the above macro then mangles.
> > >> (__GNUC__ is defined as 4 on all darwin/x86 systems and almost all
> > >> ppc systems)
> > >
> > > Any ideas how to fix this (cleanly)? Just add something like ifndef
> > > Darwin to the above declaration?
> >
> > That's not what I call clean. Renaming our version to
> > ff_always_inline or something would be better.
>
> So is renaming always_inline to ff_always_inline acceptable? If I don't
> hear objections I will implement this after the weekend.
does renaming the code in common.h and adding
#ifdef HAVE_AV_CONFIG_H
# define always_inline ff_always_inline
# define ABS FFABS
# define MAX FFMAX
#endif
help?
yes, i do prefer
always_inline foobar(){
int vector[4], i;
for(i=0; i<4; i++)
vector[i]= MAX(ABS(2-i), 1);
}
over
FF_always_inline foobar(){
int FF_vector[4], i;
for(i=0; i<4; i++)
FF_vector[i]= FFMAX(FFABS(2-i), 1);
}
or is it rather
FF_always_inline foobar(){
int FF_vector[4], FF_i;
for(FF_i=0; FF_i<4; FF_i++)
FF_vector[FF_i]= FFMAX(FFABS(2-FF_i), 1);
}
what we are moving toward?
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the ffmpeg-devel
mailing list