[FFmpeg-devel] ICC version checks

Frank Barchard fbarchard
Tue Mar 9 18:54:21 CET 2010


On Tue, Mar 9, 2010 at 9:43 AM, M?ns Rullg?rd <mans at mansr.com> wrote:

> Frank Barchard <fbarchard at google.com> writes:
>
> > This is Intel's response
> >
> > "I am not sure if Mans has found something specific but yes some of the
> > previous versions of icc were not compatible with some of the versions of
> > gcc.  It was typically a mix and match of the static libraries between
> being
> > built with icc an gcc.  Libraries being called between monolithic .so to
> > executable etc was typically okay to do.  It just depends on when the
> code
> > migrates from one compiler e.g. gcc to icc the other or visa versa.  For
> > example icc 9.1 was not compatible with gcc 4.2 if I remember correctly.
>  We
> > have tried to stay compatible with gcc but it isn't always possible."
>
> That seems to be talking about binary compatibility, probably with
> libgcc and libstdc++.  I'm talking about frontend compatibility with
> language extensions such as attributes.  If icc claims to be
> compatible with whatever random gcc version I happen to have
> installed, there is no way it can be true in general.  The correct
> thing for icc to do would be reporting the latest gcc version it is
> known to be fully compatible with.  That is what most other compilers
> (try to) do.
>

I'll pass that along to their compiler team.

But as is, ICC reports the back end gcc libs it will use.
You can infer the front end compatibility from the __ICC version.
So maybe the ifdefs should be rewritten

from
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)

to
#if __ICC > 1110 || (!defined(__ICC) && AV_GCC_VERSION_AT_LEAST(4,3))

so you'll need either native gcc 4.3 or icc 11.1
Carl?



More information about the ffmpeg-devel mailing list