From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Thomas Hallgren <thomas(at)tada(dot)se> |
Cc: | Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: What's with this lib suffix? |
Date: | 2006-02-25 15:43:46 |
Message-ID: | 44007B32.4050008@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2006-02-25 16:37:36 | Re: Resurrecting some old patches |
Previous Message | Alvaro Herrera | 2006-02-25 15:17:20 | Re: What's with this lib suffix? |