Re: Plan for straightening out the include-file mess - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Plan for straightening out the include-file mess
Date
Msg-id 24345.981773252@sss.pgh.pa.us
Whole thread Raw
In response to Re: Plan for straightening out the include-file mess  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
I have committed changes implementing the plan I sketched yesterday.
A basic install now installs just the include files needed for
client-side programming; to get all the include files, also saymake install-all-headers

I have verified that the header files installed by default are enough
to build the /interfaces and /bin directories, with two exceptions:

1. pg_dump.c includes a bunch of backend header files, mostly from the
src/include/catalog directory.  This could perhaps be worked around,
but since pg_dump has always been pretty closely tied to the backend,
I'm not sure it's worth the trouble.

2. libpq's MULTIBYTE support pulls in a number of backend source files
which in turn want to include some backend-only headers.  I'm going to
leave it to the MULTIBYTE gurus to clean that up if they feel like it.

We had talked about making separate 'client' and 'server' devel RPMs
to correspond to the minimal and full header sets.  However, I measure
the extra install footprint at not very much over a megabyte, so maybe
it's not worth the trouble.  If Lamar wants to just install the full
header set as part of the existing postgres-devel RPM, I won't object.

BTW, I have not done anything about Peter E's concern about config.h
polluting client namespaces.  That's a valid concern but we'll have
to come back to it another day.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Open 7.1 items
Next
From: Bruce Momjian
Date:
Subject: Link problems