Re: regress bug
David E. Wheeler <david@justatheory.com>
From: "David E. Wheeler" <david@justatheory.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Dunstan <andrew.dunstan@pgexperts.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-03-08T21:33:24Z
Lists: pgsql-hackers
Attachments
- exttest.tgz (application/octet-stream)
On Mar 8, 2012, at 12:59 PM, Tom Lane wrote:
> Huh? MODULE_PATHNAME is not substituted by pg_regress at all (anymore
> anyway).
Yeah, sorry, I meant `make`.
> There's still some vestigial support for it in pgxs.mk, but
> the future of that code is to vanish, not get improved. You should
> not be needing it to get substituted at build time either.
I still see this pattern a *lot*; I removed it from PL/Proxy last week. The attached tarball demonstrates it:
> make
sed 's,MODULE_PATHNAME,$libdir/sql/exttest,g' sql/exttest.sql.in >sql/exttest.sql
make: *** No rule to make target `exttest.so', needed by `all'. Stop.
So MODULE_PATHNAME is replaced with $libdir/sql/exttest rather than $libdir/exttest. Maybe that should not be fixed, but there are a *lot* of extensions out there using this approach (copied from contrib, which used it for years, albeit without the .sql.in files in a subdirectory).
So perhaps DATA_built is to be removed from pgxs.mk? And if so, is the idea then that one should just put the module name in the .sql file, rather than MODULE_PATHNAME in a .sql.in file?
Best,
David