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: