forked from postgres-plr/plr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cherrypick - https://github.com/postgres-plr/plr - master - Commits o…
…n Aug 2, 2024 - EXCEPT buildPLR.yml
- Loading branch information
1 parent
626bf07
commit 198166f
Showing
9 changed files
with
106 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# location of R library | ||
|
||
ifdef R_HOME | ||
r_libdir1x = ${R_HOME}/bin${R_ARCH} | ||
r_libdir2x = ${R_HOME}/lib${R_ARCH} | ||
# location of R includes | ||
r_includespec = -I${R_HOME}/include | ||
rhomedef = ${R_HOME} | ||
else | ||
R_HOME := $(shell pkg-config --variable=rhome libR) | ||
r_libdir1x := $(shell pkg-config --variable=rlibdir libR) | ||
r_libdir2x := $(shell pkg-config --variable=rlibdir libR) | ||
r_includespec := $(shell pkg-config --cflags-only-I libR) | ||
rhomedef := $(shell pkg-config --variable=rhome libR) | ||
endif | ||
|
||
ifneq (,${R_HOME}) | ||
|
||
EXTENSION = plr | ||
MODULE_big = plr | ||
PG_CPPFLAGS += $(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_libdir1x) -L$(r_libdir2x) -lR | ||
DATA = plr--8.4.7.sql plr--unpackaged--8.4.7.sql plr--8.3.0.18--8.4.sql plr--8.4.1--8.4.2.sql plr--8.4.3--8.4.4.sql \ | ||
plr--8.4--8.4.1.sql plr--8.4.2--8.4.3.sql plr--8.4.4--8.4.5.sql plr--8.4.5--8.4.6.sql plr--8.4.6--8.4.7.sql | ||
REGRESS = plr bad_fun opt_window do out_args plr_transaction opt_window_frame | ||
|
||
ifdef USE_PGXS | ||
ifndef PG_CONFIG | ||
PG_CONFIG := pg_config | ||
endif | ||
PGXS := $(shell $(PG_CONFIG) --pgxs) | ||
include $(PGXS) | ||
else | ||
subdir = contrib/plr | ||
top_builddir = ../.. | ||
include $(top_builddir)/src/Makefile.global | ||
include $(top_srcdir)/contrib/contrib-global.mk | ||
endif | ||
|
||
ifeq ($(PORTNAME), darwin) | ||
DYSUFFIX = dylib | ||
DLPREFIX = libR | ||
else | ||
ifeq ($(PORTNAME), win32) | ||
DLPREFIX = R | ||
else | ||
DLPREFIX = libR | ||
endif | ||
endif | ||
|
||
# we can only build PL/R if libR is available | ||
# Since there is no official way to determine this, | ||
# we see if there is a file that is named like a shared library. | ||
ifneq ($(PORTNAME), darwin) | ||
ifneq (,$(wildcard $(r_libdir1x)/$(DLPREFIX)*$(DLSUFFIX)*)$(wildcard $(r_libdir2x)/$(DLPREFIX)*$(DLSUFFIX)*)) | ||
shared_libr = yes; | ||
endif | ||
else | ||
ifneq (,$(wildcard $(r_libdir1x)/$(DLPREFIX)*$(DYSUFFIX)*)$(wildcard $(r_libdir2x)/$(DLPREFIX)*$(DYSUFFIX)*)) | ||
shared_libr = yes | ||
endif | ||
endif | ||
|
||
# If we don't have a shared library and the platform doesn't allow it | ||
# to work without, we have to skip it. | ||
ifneq (,$(findstring yes, $(shared_libr)$(allow_nonpic_in_shlib))) | ||
|
||
override CPPFLAGS := -I"$(srcdir)" -I"$(r_includespec)" $(CPPFLAGS) | ||
override CPPFLAGS += -DPKGLIBDIR=\"$(pkglibdir)\" -DDLSUFFIX=\"$(DLSUFFIX)\" | ||
override CPPFLAGS += -DR_HOME_DEFAULT=\"$(rhomedef)\" | ||
|
||
else # can't build | ||
|
||
all: | ||
@echo ""; \ | ||
echo "*** Cannot build PL/R because libR is not a shared library." ; \ | ||
echo "*** You might have to rebuild your R installation. Refer to"; \ | ||
echo "*** the documentation for details."; \ | ||
echo "" | ||
|
||
endif # can't build - cannot find libR | ||
|
||
else # can't build - no R_HOME | ||
|
||
all: | ||
@echo ""; \ | ||
echo "*** Cannot build PL/R because R_HOME cannot be found." ; \ | ||
echo "*** Refer to the documentation for details."; \ | ||
echo "" | ||
|
||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
project('plr', 'c', | ||
version : '8_4_6', | ||
version : '8_4_7', | ||
license : 'GNU Public License Version 2', | ||
) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
-- no changes to the sql files. | ||
|
||
-- complain if script is sourced in psql, rather than via ALTER EXTENSION | ||
\echo Use "ALTER EXTENSION plr UPDATE to '8.4.7'" to load this file. \quit |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# plr extension | ||
comment = 'load R interpreter and execute R script from within a database' | ||
default_version = '8.4.6' | ||
default_version = '8.4.7' | ||
module_pathname = '$libdir/plr' | ||
relocatable = true |