Re: [HACKERS] Re: include-file cleanup

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Re: include-file cleanup
Date: 1999-07-17 15:21:47
Message-ID: 19759.932224907@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> writes:
>> Your script should have
>> noticed that the name "random" mentioned in config.h was also
>> mentioned in port/random.c, and therefore not removed the include
>> of config.h from random.c. Why did it not make the connection?

> Because the random prototype is in stdlib.h in BSD/OS, and that file was
> already #included. Seems it must be in another file in your OS.
> stdlib.h:168: long random __P((void));

Ah, well there is the problem: you are (in effect) assuming that
if stdlib.h defines random() on your platform, then it does so on
everyone's platform. If that were true, we'd not need port/random.c...

I think your script ought to be set up to ignore system headers
completely, and only look at our own headers to determine which
symbols are defined where.

In theory, only config.h and c.h should contain any substitutes for
system-header symbols, so if you explicitly exclude those two from
removal then there should be no portability issue. But I'd be
happier if you changed the script so that its decisions are not
affected by the contents of system headers.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 1999-07-17 15:32:46 Re: AW: [HACKERS] shared lib names
Previous Message Tom Lane 1999-07-17 15:15:57 Re: [HACKERS] Fix up for BTP_CHAIN problems