Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2006-02-25 16:37:36
Subject: Re: Resurrecting some old patches
Previous:From: Alvaro HerreraDate: 2006-02-25 15:17:20
Subject: Re: What's with this lib suffix?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group