Re: Solved! MacOS X and external functions

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: pgman(at)candle(dot)pha(dot)pa(dot)us
Cc: gss+pg(at)cs(dot)brown(dot)edu, pgsql-general(at)postgresql(dot)org, Russ(at)psyex(dot)com
Subject: Re: Solved! MacOS X and external functions
Date: 2002-08-26 23:23:09
Message-ID: 200208262323.g7QNN9m25190@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)cs(dot)brown(dot)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(at)postgresql(dot)org
> >
>
> --
> Bruce Momjian | http://candle.pha.pa.us
> pgman(at)candle(dot)pha(dot)pa(dot)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(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2002-08-27 00:36:06 Re: size of units in postgresql.conf
Previous Message Bruce Momjian 2002-08-26 22:23:50 Re: size of units in postgresql.conf