Re: pkg-config files for libpq and ecpg

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2013-01-15T23:53:15Z
Lists: pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> I'll take another stab at providing pkg-config files for the client-side
> libraries.

This bit:

> +	echo 'Libs.private: $(filter-out $(PKG_CONFIG_REQUIRES_PRIVATE:lib%=-l%),$(filter-out -L..%, $(SHLIB_LINK)))' >>$@

appears to assume that SHLIB_LINK contains nothing except -L and -l
switches.  I don't think I trust that a whole lot --- in fact, it
looks guaranteed to fail on HPUX because of -print-libgcc-file-name.
There might be other platform-specific bogosity on other platforms;
PTHREAD_LIBS seems like a likely source for instance.

Another point is that -L switches used at build time might not have much
to do with the environment a .pc file would be used in later.  I see
that you're dropping relative -L paths, which is good as far as it
goes, but I wonder whether it goes far enough.

Perhaps the first step should be to filter in -l%, rather than
filter out -L% ?

			regards, tom lane


Commits

  1. Adjust Darwin build to use the default 'two level namespace' linking