Re: Solved! MacOS X and external functions - Mailing list pgsql-general

From Bruce Momjian
Subject Re: Solved! MacOS X and external functions
Date
Msg-id 200208262323.g7QNN9m25190@candle.pha.pa.us
Whole thread Raw
In response to Solved! MacOS X and external functions  (Gregory Seidman <gss+pg@cs.brown.edu>)
List pgsql-general
I found out where this goes in the docs and it will appear in 7.3.  Thanks.

---------------------------------------------------------------------------

pgman wrote:
>
> We do have this in CVS in Makefile.shlib:
>
>     ifeq ($(PORTNAME), darwin)
>       shlib                 := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
>       LINK.shared           = $(COMPILER) $(DARWIN_NAMESPACE_SPEC) -bundle -undefined suppress
>     endif
>
> If you run the regression tests, you will see the creation of an
> extension file at the start of the run.  We don't actually document it
> for every platform, but instead have people run regression and look at
> the link line for a sample.  This is because Makefile.shlib, combined
> with configure, gives a 100% accurate description of the link flags
> involved.
>
>
> ---------------------------------------------------------------------------
>
> Gregory Seidman wrote:
> > Tom Lane sez:
> > } Gregory Seidman <gss+pg@cs.brown.edu> writes:
> > } > Has anyone managed to get external functions working under MacOS X?
> > }
> > } FWIW, if the regression tests pass for you then external functions
> > } should work.  plpgsql is a dynamically loaded library, and the
> > } regression tests also build and execute a couple of external functions
> > } from contrib/.
> >
> > I tried the regression tests and the external function test passed, so I
> > looked into what the test was actually doing. It turns out that the issue
> > is with MacOS X terminology. There are several different object file
> > formats supported under MacOS X. Aside from the Classic MacOS stuff, the
> > are object files (.o), dynamic libraries (.dylib), bundles (.so), and
> > executables. I thought I needed to create a dynamic library, but it turns
> > out that the right choice is a bundle.
> >
> > Could whoever is in charge of documentation please add the contents of the
> > DocNote I added to http://www.postgresql.org/idocs/index.php?xfunc-c.html
> >
> > The DocNote is on the page, but for those of you who don't want to bother
> > going to the web page:
> >
> >    Until MacOS X is covered in the main body, here is the commandline
> >    needed to prepare an extension (this assumes that the developer tools
> >    are installed):
> >
> >    cc -c foo.c
> >    cc -bundle -flat_namespace -undefined suppress -o foo.so foo.o
> >
> > }             regards, tom lane
> > --Greg
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: size of units in postgresql.conf
Next
From: Tom Lane
Date:
Subject: Re: size of units in postgresql.conf