Thomas Hallgren wrote:
Peter Eisentraut wrote:
Thomas Hallgren wrote:
# Default shlib naming convention used by the majority of platforms
shlib =
lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
shlib_major = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
shlib_bare = lib$(NAME)$(DLSUFFIX)
and sure enough, that's what gets used too. So what goes?
You are confusing the naming convention for shared libraries that are
intended to be linked into programs (or other libraries) at build
time, which normally have to be named libsomething.so because that is
what the compiler/linker flag -lsomething resolves to, with the
naming convention for shared libraries that are intended to be loaded
at run-time (sometimes called plug-ins), which require no particular
naming.
In that case, I'd appreciate some advice on how to use the pgxs
package to compile a 'plug-in'. Looks to me it's only designed to
compile 'shared libraries'.
Enumkit's makefile uses pgxs happily to make foo.so without the lib
prefix. The relevant portion reads like this:
MODULES = $(TYPENAME)
DATA_built = $(TYPENAME)-install.sql
ENUMS = junk
SRCS += $(TYPENAME).c
OBJS = $(SRCS:.c=.o)
PGXS := $(shell pg_config --pgxs)
include $(PGXS)
With this,
make TYPENAME=foo ENUMS='"foo","bar"'
produces foo.so.
HTH
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings