I've written PL/R to make use of the contrib build system, and modelled its Makefile after other contrib modules. One user who tried installing PL/R under OS X sent me this:

The makefile does

gcc -traditional-cpp -g -O2 -Wall -Wmissing-prototypes
-Wmissing-declarations -fno-common -install_name
/usr/local/pgsql/lib/libplr.0.dylib -dynamiclib plr.o
pg_conversion.o pg_backend_support.o pg_userfuncs.o pg_rsupport.o
-L../../src/interfaces/libpq -L/usr/local/lib/R/bin -lR -o

In OS X this should be

gcc -traditional-cpp -g -O2 -Wall -Wmissing-prototypes
-Wmissing-declarations -fno-common -bundle -flat_namespace -undefined
suppress plr.o pg_conversion.o pg_backend_support.o pg_userfuncs.o
pg_rsupport.o -L../../src/interfaces/libpq -L/usr/local/lib/R/bin -lR
-o plr.so

Below is the Makefile. The key problem is that I need to get a "bundle" built instead of a "dynamiclib", or so I am told.

Any idea what I'm doing wrong?



r_libdir = ${R_HOME}/bin
r_includespec = ${R_HOME}/include

subdir = contrib/plr
top_builddir = ../..
include $(top_builddir)/src/Makefile.global

override CPPFLAGS := -I$(srcdir) -I$(r_includespec) $(CPPFLAGS)
override CPPFLAGS += -DPKGLIBDIR=\"$(pkglibdir)\" -DDLSUFFIX=\"$(DLSUFFIX)\"
rpath :=

MODULE_big := plr
PG_CPPFLAGS := -I$(r_includespec)
SRCS += plr.c pg_conversion.c pg_backend_support.c pg_userfuncs.c pg_rsupport.c
OBJS := $(SRCS:.c=.o)
SHLIB_LINK := -L$(r_libdir) -lR

DATA_built := plr.sql
REGRESS := plr
EXTRA_CLEAN := doc/HTML.index

include $(top_srcdir)/contrib/contrib-global.mk

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to