[MPlayer-cvslog] r25359 - trunk/configure
Rich Felker
dalias at aerifal.cx
Wed Dec 12 18:21:09 CET 2007
On Wed, Dec 12, 2007 at 09:22:39AM +0100, Diego Biurrun wrote:
> On Tue, Dec 11, 2007 at 08:40:18PM -0500, Rich Felker wrote:
> > On Tue, Dec 11, 2007 at 09:32:21PM +0100, diego wrote:
> > >
> > > Log:
> > > Replace SYS_DARWIN condition by __APPLE__ || __DARWIN__.
> >
> > I strongly prefer SYS_DARWIN. __APPLE__ and __DARWIN__ are not under
> > our control and there is no guarantee that they won't change or be
> > defined on another non-Darwin system.
>
> Unlikely.
>
> Anyway, SYS_DARWIN is no different than __APPLE__ || __DARWIN__, it's
> just set by configure, that's all. Plus, in many cases it is abused for
> things that are specific to just one of both systems or entirely
> unrelated things like the Apple gcc fork.
>
> Without a doubt it is better to replace conditionals like __APPLE_CC__
> with feature-specific tests. Nevertheless SYS_DARWIN is *not* the way
> to go, it just wrongly lumps two separate systems together.
>
> I already removed SYS_DARWIN from FFmpeg for a good reason.
OK, thanks for explaining your reasoning. But I still maintain that
any code referencing a symbol or preprocessor macro beginning with __
or _[[:alpha:]] is inherently broken; it has unspecified behavior. If
more fine-grained feature detection is needed, make a new SYS_APPLE
and SYS_DARWIN or something similar, but please don't use the
compiler-predefined macros.
Rich
More information about the MPlayer-cvslog
mailing list