Re: What's with this lib suffix?

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

In response to

Responses

Browse pgsql-hackers by date

  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?