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?  (Thomas Hallgren <thomas@tada.se>)
Список 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 по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: What's with this lib suffix?
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Resurrecting some old patches