Re: What's with this lib suffix?
От | Andrew Dunstan |
---|---|
Тема | Re: What's with this lib suffix? |
Дата | |
Msg-id | 44007B32.4050008@dunslane.net обсуждение исходный текст |
Ответ на | Re: What's with this lib suffix? (Thomas Hallgren <thomas@tada.se>) |
Ответы |
Re: What's with this lib suffix?
|
Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: