Re: libreadline only used with psql?

Lists: pgsql-hackers
From: Chris Campbell <chris(at)bignerdranch(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: libreadline only used with psql?
Date: 2006-10-07 17:20:30
Message-ID: 65EB2777-8DEE-47EF-8290-D5B314B18BBB@bignerdranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I've grepped through the source code, and the only thing I can find
that uses readline (or libedit) is psql.

Is that correct?

If that's the case, how hard would it be to link only psql with
readline (or libedit)?

Currently, if you ./configure with readline support, -lreadine (or -
ledit) is added to the used-by-everything LIBS variable. Can we
create a PSQL_LIBS variable and have ./configure populate that with
libraries that will only be needed by psql? That way, ./configure can
put -lreadline there and keep it out of LIBS so all the other
binaries (postmaster, pg_ctl, pg_dump, pg_restore, etc) won't require
it.

This request would be accompanied by a patch, but I wanted to ask
about the feasibility of a PSQL_LIBS variable before going down that
road.

Thanks!

- Chris


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Chris Campbell <chris(at)bignerdranch(dot)com>
Subject: Re: libreadline only used with psql?
Date: 2006-10-07 19:48:56
Message-ID: 200610072148.57952.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Chris Campbell wrote:
> If that's the case, how hard would it be to link only psql with
> readline (or libedit)?

This is already addressed, more or less, in 8.2.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org, Chris Campbell <chris(at)bignerdranch(dot)com>
Subject: Re: libreadline only used with psql?
Date: 2006-10-07 20:34:10
Message-ID: 4625.1160253250@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> Chris Campbell wrote:
>> If that's the case, how hard would it be to link only psql with
>> readline (or libedit)?

> This is already addressed, more or less, in 8.2.

We've suppressed libreadline in the backend, but not in any of the other
client programs (eg, pg_dump still has it). Not sure whether Chris
really cares about those. In any case, I think it's inappropriate
for configure to know exactly which programs need which libraries.
It'd probably be more maintainable in the long run to propagate
src/backend/Makefile's technique into the other Makefiles:

# The backend doesn't need everything that's in LIBS, however
LIBS := $(filter-out -lz -lreadline -ledit -ltermcap -lncurses -lcurses, $(LIBS))

with suitable adjustment of the filter list for each program.
(But possibly "-lreadline -ledit -ltermcap -lncurses -lcurses"
should be factored out as a READLINE_LIBS variable or some such.)

regards, tom lane