When Postgres is configured and decides to use libncurses and
libreadline, the backend gets linked against those two libs, too, even
though it really doesn't use them. This is just extra wasted size and
(if they're shared libs) dependencies you don't need.
I made this ultra-cheesy change to src/backend/Makefile to take care
of that.
postgres: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(export_dynamic) $^ $(LIBS) -o $@
to
postgres: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(export_dynamic) $^ `echo $(LIBS) | sed -e 's/ -lncurses//' -e 's/ -lreadline//'`
-o$@
I realize this is a sort of special-purpose request. It's not a big
deal to build the whole thing, then just relink src/backend/postgres
without those libs. It just feels dirty to have them there when they
aren't needed.
Todd