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

Reply via email to