[HACKERS] Assessment on namespace clean include file names

2001-08-23 Thread Peter Eisentraut

Here is what we install by default and what we could do about it:

c.h [1]
config.hrename to pg_config.h
ecpgerrno.h ok
ecpglib.h   ok
ecpgtype.h  ok
iodbc/  [3]
  iodbc.h
  isql.h
  isqlext.h
lib/[1]
  dllist.h
libpgeasy.h ok
libpgtcl.h  ok
libpq/  [1]
  libpq-fs.h
  pqcomm.h
libpq++/ok
  pgconnection.h
  pgcursordb.h
  pgdatabase.h
  pglobject.h
  pgtransdb.h
libpq++.h   ok
libpq-fe.h  ok
libpq-int.h [1]
os.hrename to pg_config_os.h
postgres_ext.h  ok
postgres_fe.h   [1]
pqexpbuffer.h   [1]
sql3types.h [2]
sqlca.h [2]

[1] -- The libpq-int.h draws in a lot of internal structure, true to the
name.  Something should be done about that, such as not installing it, or
moving it to a hidden place.  Ideas?

[2] -- The ecpg preprocessor will actually include copies of these into
the output file when seeing the commands 'exec sql include sql3types;'
etc., thus not really making these include files in the traditional sense.
The names are okay for the moment, but I will research this some more.

[3] -- The names clash with the actual iodbc package.  Not sure if this is
intended, but I will evaluate with the odbc group.

The idea I currently have for the installation layout including the server
includes is this:

--prefix=/usr/local/pgsql

libpq-fe.h  = /usr/local/pgsql/include/libpq-fe.h
access/xlog.h   = /usr/local/pgsql/include/server/access/xlog.h

--prefix=/usr/local

libpq-fe.h  = /usr/local/include/libpq-fe.h
access/xlog.h   = /usr/local/include/postgresql/server/access/xlog.h

pg_config will get an option --server-includedir to point to the files.

-- 
Peter Eisentraut   [EMAIL PROTECTED]   http://funkturm.homeip.net/~peter


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Assessment on namespace clean include file names

2001-08-23 Thread Tom Lane

Peter Eisentraut [EMAIL PROTECTED] writes:
 [1] -- The libpq-int.h draws in a lot of internal structure, true to the
 name.  Something should be done about that, such as not installing it, or
 moving it to a hidden place.  Ideas?

libpq-int.h was always intended to be strictly internal.  I made it part
of the export fileset when it was created because I feared that there were
probably applications out there that were using direct access to fields of
PGresult, and I wanted to give them breathing room to update their code.
But at this point they've had several releases worth of breathing room.
I see no reason why we can't drop the other shoe and stop exporting
libpq-int.h (or more accurately, move it out of the public namespace,
same as you propose for backend headers).

 The idea I currently have for the installation layout including the server
 includes is this:

 --prefix=/usr/local/pgsql

 libpq-fe.h= /usr/local/pgsql/include/libpq-fe.h
 access/xlog.h = /usr/local/pgsql/include/server/access/xlog.h

server may not be a great choice if we want to stick libpq-int.h into
it too...

regards, tom lane

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly