Re: Should libedit be preferred to libreadline? - Mailing list pgsql-hackers

From Martijn van Oosterhout
Subject Re: Should libedit be preferred to libreadline?
Date
Msg-id 20051122095747.GA12548@svana.org
Whole thread Raw
In response to Re: Should libedit be preferred to libreadline?  ("Zeugswetter Andreas DCP SD" <ZeugswetterA@spardat.at>)
Responses Re: Should libedit be preferred to libreadline?
List pgsql-hackers
On Tue, Nov 22, 2005 at 10:07:15AM +0100, Zeugswetter Andreas DCP SD wrote:
> PS: I'd prefer if readline was only linked where it is needed, namely in
> psql.

The problem as stated is that people don't want to maintain lists of
libraries as needed by each program, so we link all of them.

Since it seems to always be the same few libraries that cause us
problems, maybe a simpler approach would be to, in the Makefile, use
filter-out to exclude libraries you *know* aren't needed. Like in the
Makefile we put:

postgres: $(OBJS)
        $(CC) $(CFLAGS) $(LDFLAGS) $(export_dynamic) $^ $(filter-out -lreadline -ledit, $(LIBS)) -o $@

So instead of maintaining lists of what each binary needs, we can
maintain a few lists of what certain binaries *don't* need. Actually, I
think the backend is the only thing important enough to worry about
this, although if readline is exporting memcpy that it's quite possible
other binaries might be affected. Maybe create a BACKEND_LIBS which
contains a shorter list.

Even the GCC --as-needed flag can't save you from libs exporting
functions they shouldn't...

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Attachment

pgsql-hackers by date:

Previous
From: gevik@xs4all.nl
Date:
Subject: TODO item "%Allow pg_hba.conf be controlled via SQL"
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Web page down (ad server)