shared library, or we can do without one.
 # -*-makefile-*-
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.133 2001/08/26 22:28:04 petere Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.134 2001/08/27 00:29:49 petere Exp $
 
 #------------------------------------------------------------------------------
 # All PostgreSQL makefiles include this file and use the variables it sets,
 python_moduledir   = @python_moduledir@
 python_moduleexecdir   = @python_moduleexecdir@
 python_libspec     = @python_libspec@
+python_configdir   = @python_configdir@
 
 krb_srvtab = @krb_srvtab@
 
 
 #
 # 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 $
 #
 #-------------------------------------------------------------------------
 
 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
 
-# $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)
 
 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