Thread: Darwin compile flags

Darwin compile flags

From
Bruce Momjian
Date:
Tom Lane wrote:
> CVSROOT:    /cvsroot
> Module name:    pgsql-server
> Changes by:    tgl@svr1.postgresql.org    03/09/19 17:47:59
> 
> Modified files:
>     src/template   : darwin 
> 
> Log message:
>     Latest version of gcc from Apple does not work well with -traditional-cpp
>     (it rejects some system header files...).  Use -no-cpp-precomp instead.
>     I think it is okay to change this unconditionally, but if we hear
>     complaints from people still using very old compilers on Darwin,
>     we could put in a test to see which switch the compiler likes.

Yes, I saw this failure in Atlanta on their Mac's.  The compiler is
clearly broken with that flag.  Why is that flag used anyway?  I see it
in template/darwin, or it used to be there before the commit.


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: Darwin compile flags

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> Yes, I saw this failure in Atlanta on their Mac's.  The compiler is
> clearly broken with that flag.  Why is that flag used anyway?  I see it
> in template/darwin, or it used to be there before the commit.

In early versions you needed to use it to turn of the header precompiler.
(The precompiler is apparently buggy.)  Now there is a separate flag for
that.

-- 
Peter Eisentraut   peter_e@gmx.net



Re: Darwin compile flags

From
Bruce Momjian
Date:
Peter Eisentraut wrote:
> Bruce Momjian writes:
> 
> > Yes, I saw this failure in Atlanta on their Mac's.  The compiler is
> > clearly broken with that flag.  Why is that flag used anyway?  I see it
> > in template/darwin, or it used to be there before the commit.
> 
> In early versions you needed to use it to turn of the header precompiler.
> (The precompiler is apparently buggy.)  Now there is a separate flag for
> that.

Oh, precompiled headers.  Thanks, that makes sense.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: Darwin compile flags

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> In early versions you needed to use it to turn of the header precompiler.
> (The precompiler is apparently buggy.)  Now there is a separate flag for
> that.

I just two days ago verified that with Apple's latest compiler release,
you can only build PG with -no-cpp-precomp.  -traditional-cpp fails, and
so does leaving off the cpp option entirely (in a different way though).
They seem to have changed the behavior of -traditional-cpp, because it
used to work with older Apple compilers.  (So much for tradition ...)

I think these failures represent bugs in Apple's preprocessors, given that
everything else under the sun can compile PG.  But it's not really worth
worrying about; we'll just use the recommended flag and be done with it.
        regards, tom lane