lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Annotated Patches for MacOS X 10.2 / gcc 3.1


From: Han-Wen Nienhuys
Subject: Annotated Patches for MacOS X 10.2 / gcc 3.1
Date: Mon, 26 Aug 2002 14:18:17 +0200

address@hidden writes:
> 3) This one is both nasty and mysterious: If <iostream.h> is first 
> encountered through an include
> from <FlexLexer.h>, gcc 3.1 hundreds of "template has C linkage" errors. 
> If it's first included
> from the file to be compiled, everything works fine. The solution is to 
> insert an #include <iostream.h> into any file that directly or 
> indirectly includes <FlexLexer.h>. In the case of the
> flex generated lexer itself, this has to be done through a make recipe, 
> since the #include <FlexLexer.h> is placed in the generated file before 
> anything included from the .ll file.

did you try the lexer-gcc-3.1.sh script?   

> 4) This one, I think, is a Linuxism (At least I see it frequently in 
> ports from Linux). <malloc.h> is
> a nonstandard header that does not exist on MacOS X and many other 
> platforms. malloc() is properly defined in <stdlib.h>.

Ok. fixed.

> 5) Not sure whether this is a MacOS X bug or a bug in the source, but on 
> MacOS X, <sys/resource.h> needs <sys/time.h> to work.

I've simply switched off PARANOIA.

> 1) if __GNU_LIBRARY__ is not defined, kpathsea/getopt.h prototypes
> getopt as extern getopt()
>      to get around parameter incompatibilities. While this works for
> C, this of course is not a viable
>      approach for C++ (where the empty parameter list is taken
> literally). Luckily the declaration
>      if __GNU_LIBRARY__ *is* defined is compatible with the
> declaration used by MacOS X.
>  

I don't understand; this should be handled   by

>  #define getopt YAKLUDGE

Can you investigate?

> 2) MacOS X defines isinf and isnan as macros. <cmath>, apparently for
> compatibility reasons, undefines those macros and only makes these
> definitions visible under conditions which are
> not met on MacOS X. Therefore, we have to pull these definitions into
> (inline) functions before
> including <cmath>.

Strange. We don't have cmath anywhere in the source; can you see where
it's coming from? 

-- 

Han-Wen Nienhuys   |   address@hidden    | http://www.cs.uu.nl/~hanwen/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]