summaryrefslogtreecommitdiff
path: root/src/pl
diff options
context:
space:
mode:
authorPeter Eisentraut2001-08-27 00:29:49 +0000
committerPeter Eisentraut2001-08-27 00:29:49 +0000
commit42ae4f2940393e224819a244d83b632f1fa84ae6 (patch)
tree818474925e1e0381e9a1b7af188fe26773b097f0 /src/pl
parentaf7001468633496bcfaab4078fc9fb6f008f4bfa (diff)
Turn on plpython build by default if we have something that looks like a
shared library, or we can do without one.
Diffstat (limited to 'src/pl')
-rw-r--r--src/pl/Makefile9
-rw-r--r--src/pl/plpython/Makefile24
2 files changed, 27 insertions, 6 deletions
diff --git a/src/pl/Makefile b/src/pl/Makefile
index 64882e99bc9..094221a8dcd 100644
--- a/src/pl/Makefile
+++ b/src/pl/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.20 2001/05/12 01:30:30 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.21 2001/08/27 00:29:49 petere Exp $
#
#-------------------------------------------------------------------------
@@ -22,10 +22,9 @@ ifeq ($(with_perl), yes)
DIRS += plperl
endif
-# Doesn't build portably yet.
-#ifeq ($(with_python), yes)
-#DIRS += plpython
-#endif
+ifeq ($(with_python), yes)
+DIRS += plpython
+endif
all install installdirs uninstall depend distprep:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index b22dcf80e7e..782d07ee3f5 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -1,10 +1,21 @@
-# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.8 2001/07/10 16:33:02 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.9 2001/08/27 00:29:49 petere Exp $
subdir = src/pl/plpython
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
+# On some platforms we can only build PL/Python if libpython is a
+# shared library. Since there is no official way to determine this,
+# we see if there is a file that is named like a shared library.
+ifneq (,$(wildcard $(python_configdir)/libpython*$(DLSUFFIX)*))
+shared_libpython = yes
+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_libpython)$(allow_nonpic_in_shlib)))
+
override CPPFLAGS := -I$(srcdir) $(python_includespec) $(CPPFLAGS)
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
@@ -36,3 +47,14 @@ clean distclean maintainer-clean: clean-lib
installcheck:
PATH=$(bindir):$$PATH $(SHELL) $(srcdir)/test.sh
+
+else # can't build
+
+all:
+ @echo ""; \
+ echo "*** Cannot build PL/Python because libpython is not a shared library." ; \
+ echo "*** You might have to rebuild your Python installation. Refer to"; \
+ echo "*** the documentation for details."; \
+ echo ""
+
+endif # can't build