summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut2001-09-16 16:11:11 +0000
committerPeter Eisentraut2001-09-16 16:11:11 +0000
commit264f8f2b6c8fe64110753c25634e0f1178cbe243 (patch)
tree570f4c70d6494a8ca543c915e59bfa9de1761e84 /src
parentd20a50de33d86dfbf8d6097d460ebd3a14bd52c9 (diff)
Install dynamically loadable modules into a private subdirectory
under libdir, for a cleaner separation in the installation layout and compatibility with binary packaging standards. Point backend's default search location there. The contrib modules are also installed in the said location, giving them the benefit of the default search path as well. No changes in user interface nevertheless.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in16
-rw-r--r--src/backend/Makefile26
-rw-r--r--src/backend/utils/fmgr/Makefile11
-rw-r--r--src/backend/utils/fmgr/dfmgr.c8
-rw-r--r--src/bin/pg_config/Makefile3
-rw-r--r--src/bin/pg_config/pg_config.sh7
-rw-r--r--src/pl/plperl/GNUmakefile8
-rw-r--r--src/pl/plpgsql/src/Makefile10
-rw-r--r--src/pl/plpython/Makefile10
-rw-r--r--src/pl/tcl/Makefile8
-rw-r--r--src/test/regress/GNUmakefile3
-rw-r--r--src/test/regress/pg_regress.sh6
12 files changed, 67 insertions, 49 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 9a1aa8c5386..9c3b697889b 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -1,5 +1,5 @@
# -*-makefile-*-
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.136 2001/08/29 19:14:39 petere Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.137 2001/09/16 16:11:09 petere Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@@ -80,10 +80,20 @@ endif
endif
libdir := @libdir@
-pkglibdir = $(libdir)/postgresql
+pkglibdir = $(libdir)
+ifeq "$(findstring pgsql, $(pkglibdir))" ""
+ifeq "$(findstring postgres, $(pkglibdir))" ""
+override pkglibdir := $(pkglibdir)/postgresql
+endif
+endif
includedir := @includedir@
-pkgincludedir = $(includedir)/postgresql
+pkgincludedir = $(includedir)
+ifeq "$(findstring pgsql, $(pkgincludedir))" ""
+ifeq "$(findstring postgres, $(pkgincludedir))" ""
+override pkgincludedir := $(pkgincludedir)/postgresql
+endif
+endif
includedir_server = $(pkgincludedir)/server
includedir_internal = $(pkgincludedir)/internal
diff --git a/src/backend/Makefile b/src/backend/Makefile
index 48773c4994e..40a848005a4 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.73 2001/06/02 18:25:17 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.74 2001/09/16 16:11:10 petere Exp $
#
#-------------------------------------------------------------------------
@@ -136,28 +136,36 @@ ifeq ($(enable_nls), yes)
$(MAKE) -C po $@
endif
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(datadir)
-ifeq ($(enable_nls), yes)
- $(MAKE) -C po $@
-endif
-
install-bin: postgres $(POSTGRES_IMP) installdirs
$(INSTALL_PROGRAM) postgres$(X) $(DESTDIR)$(bindir)/postgres$(X)
@rm -f $(DESTDIR)$(bindir)/postmaster
ln -s postgres$(X) $(DESTDIR)$(bindir)/postmaster
ifeq ($(MAKE_EXPORTS), true)
- $(INSTALL_DATA) $(POSTGRES_IMP) $(DESTDIR)$(libdir)/$(POSTGRES_IMP)
+ $(INSTALL_DATA) $(POSTGRES_IMP) $(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)
endif
.PHONY: install-bin
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)
+ifeq ($(PORTNAME), win)
+ifeq ($(MAKE_DLL), true)
+ $(mkinstalldirs) $(DESTDIR)$(libdir)
+endif
+endif
+ifeq ($(MAKE_EXPORTS), true)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
+endif
+ifeq ($(enable_nls), yes)
+ $(MAKE) -C po $@
+endif
+
##########################################################################
uninstall:
rm -f $(DESTDIR)$(bindir)/postgres$(X) $(DESTDIR)$(bindir)/postmaster
ifeq ($(MAKE_EXPORTS), true)
- rm -f $(DESTDIR)$(libdir)/$(POSTGRES_IMP)
+ rm -f $(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)
endif
ifeq ($(PORTNAME), win)
ifeq ($(MAKE_DLL), true)
diff --git a/src/backend/utils/fmgr/Makefile b/src/backend/utils/fmgr/Makefile
index a449b80942b..ad96b1717db 100644
--- a/src/backend/utils/fmgr/Makefile
+++ b/src/backend/utils/fmgr/Makefile
@@ -4,7 +4,7 @@
# Makefile for utils/fmgr
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/utils/fmgr/Makefile,v 1.11 2001/05/17 17:44:18 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/utils/fmgr/Makefile,v 1.12 2001/09/16 16:11:11 petere Exp $
#
#-------------------------------------------------------------------------
@@ -14,7 +14,7 @@ include $(top_builddir)/src/Makefile.global
OBJS = dfmgr.o fmgr.o
-override CPPFLAGS += -DLIBDIR=\"$(libdir)\" -DDLSUFFIX=\"$(DLSUFFIX)\"
+override CPPFLAGS += -DPKGLIBDIR=\"$(pkglibdir)\" -DDLSUFFIX=\"$(DLSUFFIX)\"
all: SUBSYS.o
@@ -22,12 +22,5 @@ all: SUBSYS.o
SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
-depend dep:
- $(CC) -MM $(CFLAGS) *.c >depend
-
clean:
rm -f SUBSYS.o $(OBJS)
-
-ifeq (depend,$(wildcard depend))
-include depend
-endif
diff --git a/src/backend/utils/fmgr/dfmgr.c b/src/backend/utils/fmgr/dfmgr.c
index 0448632aadb..2e3cb9ed2dc 100644
--- a/src/backend/utils/fmgr/dfmgr.c
+++ b/src/backend/utils/fmgr/dfmgr.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.50 2001/05/19 09:01:10 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.51 2001/09/16 16:11:11 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -224,8 +224,8 @@ file_exists(const char *name)
#endif
/* Example format: "/usr/local/pgsql/lib" */
-#ifndef LIBDIR
-#error "LIBDIR needs to be defined to compile this file."
+#ifndef PKGLIBDIR
+#error "PKGLIBDIR needs to be defined to compile this file."
#endif
@@ -297,7 +297,7 @@ substitute_libpath_macro(const char * name)
macroname_len = strcspn(name + 1, "/") + 1;
if (strncmp(name, "$libdir", macroname_len)==0)
- replacement = LIBDIR;
+ replacement = PKGLIBDIR;
else
elog(ERROR, "invalid macro name in dynamic library path");
diff --git a/src/bin/pg_config/Makefile b/src/bin/pg_config/Makefile
index 0efaff5e352..d2350e83e06 100644
--- a/src/bin/pg_config/Makefile
+++ b/src/bin/pg_config/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/bin/pg_config/Makefile,v 1.2 2001/08/28 14:20:28 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/pg_config/Makefile,v 1.3 2001/09/16 16:11:11 petere Exp $
subdir = src/bin/pg_config
top_builddir = ../../..
@@ -12,6 +12,7 @@ pg_config: pg_config.sh $(top_builddir)/config.status $(top_builddir)/src/Makefi
-e 's,@includedir@,$(includedir),g' \
-e 's,@includedir_server@,$(includedir_server),g' \
-e 's,@libdir@,$(libdir),g' \
+ -e 's,@pkglibdir@,$(pkglibdir),g' \
-e "s,@configure@,$$configure,g" \
-e 's,@version@,$(VERSION),g' \
$< >$@
diff --git a/src/bin/pg_config/pg_config.sh b/src/bin/pg_config/pg_config.sh
index df05b92fee7..e27827cc280 100644
--- a/src/bin/pg_config/pg_config.sh
+++ b/src/bin/pg_config/pg_config.sh
@@ -7,7 +7,7 @@
# Author: Peter Eisentraut <[email protected]>
# Public domain
-# $Header: /cvsroot/pgsql/src/bin/pg_config/Attic/pg_config.sh,v 1.4 2001/08/28 14:20:28 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/pg_config/Attic/pg_config.sh,v 1.5 2001/09/16 16:11:11 petere Exp $
me=`basename $0`
@@ -16,13 +16,14 @@ val_bindir='@bindir@'
val_includedir='@includedir@'
val_includedir_server='@includedir_server@'
val_libdir='@libdir@'
+val_pkglibdir='@pkglibdir@'
val_configure="@configure@"
val_version='@version@'
help="\
$me provides information about the installed version of PostgreSQL.
-Usage: $me --bindir | --includedir | --includedir-server | --libdir | --configure | --version
+Usage: $me --bindir | --includedir | --includedir-server | --libdir | --pkglibdir | --configure | --version
Operation modes:
--bindir show location of user executables
@@ -30,6 +31,7 @@ Operation modes:
interfaces
--includedir-server show location of C header files for the server
--libdir show location of object code libraries
+ --pkglibdir show location of dynamically loadable modules
--configure show options given to 'configure' script when
PostgreSQL was built
--version show the PostgreSQL version and exit
@@ -55,6 +57,7 @@ do
--includedir-server)
show="$show \$val_includedir_server";;
--libdir) show="$show \$val_libdir";;
+ --pkglibdir) show="$show \$val_pkglibdir";;
--configure) show="$show \$val_configure";;
--version) echo "PostgreSQL $val_version"
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index 4ad205acb46..f17c65799ae 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/pl/plperl/GNUmakefile,v 1.7 2001/08/26 23:54:41 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plperl/GNUmakefile,v 1.8 2001/09/16 16:11:11 petere Exp $
subdir = src/pl/plperl
top_builddir = ../../..
@@ -13,17 +13,17 @@ all: Makefile
$(MAKE) -f $< all VPATH=$(VPATH)
Makefile: Makefile.PL
- plperl_installdir='$$(DESTDIR)$(libdir)' \
+ plperl_installdir='$$(DESTDIR)$(pkglibdir)' \
$(PERL) $< $(makefile_pl_flags) INC='-I$(srcdir) $(filter -I%, $(CPPFLAGS))'
install: all installdirs
$(MAKE) -f Makefile install DESTDIR='$(DESTDIR)'
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
uninstall:
- rm -f $(DESTDIR)$(libdir)/plperl$(DLSUFFIX)
+ rm -f $(DESTDIR)$(pkglibdir)/plperl$(DLSUFFIX)
clean distclean maintainer-clean:
-[ -f Makefile ] && $(MAKE) -f Makefile clean
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 55cbf3e3464..bc62d95a011 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for the plpgsql shared object
#
-# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.17 2001/08/21 16:25:21 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.18 2001/09/16 16:11:11 petere Exp $
#
#-------------------------------------------------------------------------
@@ -20,8 +20,8 @@ SO_MAJOR_VERSION= 1
SO_MINOR_VERSION= 0
override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
-
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
+rpath :=
OBJS = pl_parse.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o
@@ -46,7 +46,7 @@ include $(top_srcdir)/src/Makefile.shlib
install: installdirs all
ifeq ($(enable_shared), yes)
- $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(libdir)/plpgsql$(DLSUFFIX)
+ $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/plpgsql$(DLSUFFIX)
else
@echo "*****"; \
echo "* PL/pgSQL was not installed due to lack of shared library support."; \
@@ -54,10 +54,10 @@ else
endif
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
uninstall:
- rm -f $(DESTDIR)$(libdir)/plpgsql$(DLSUFFIX)
+ rm -f $(DESTDIR)$(pkglibdir)/plpgsql$(DLSUFFIX)
pl_handler.o pl_comp.o pl_exec.o pl_funcs.o: plpgsql.h $(srcdir)/pl.tab.h
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index 782d07ee3f5..dd92986304e 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.9 2001/08/27 00:29:49 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.10 2001/09/16 16:11:11 petere Exp $
subdir = src/pl/plpython
top_builddir = ../../..
@@ -17,8 +17,8 @@ endif
ifneq (,$(findstring yes, $(shared_libpython)$(allow_nonpic_in_shlib)))
override CPPFLAGS := -I$(srcdir) $(python_includespec) $(CPPFLAGS)
-
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
+rpath :=
NAME = plpython
SO_MAJOR_VERSION = 0
@@ -33,13 +33,13 @@ include $(top_srcdir)/src/Makefile.shlib
all: all-lib
install: all installdirs
- $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(libdir)/plpython$(DLSUFFIX)
+ $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/plpython$(DLSUFFIX)
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
uninstall:
- rm -f $(DESTDIR)$(libdir)/plpython$(DLSUFFIX)
+ rm -f $(DESTDIR)$(pkglibdir)/plpython$(DLSUFFIX)
clean distclean maintainer-clean: clean-lib
rm -f $(OBJS)
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index a78687299ed..c52ed2693fe 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for the pltcl shared object
#
-# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.33 2001/05/11 23:38:06 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.34 2001/09/16 16:11:11 petere Exp $
#
#-------------------------------------------------------------------------
@@ -93,19 +93,19 @@ endif
pltcl$(DLSUFFIX): pltcl.o
install: all installdirs
- $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(libdir)/$(DLOBJS)
+ $(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(pkglibdir)/$(DLOBJS)
ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
endif
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(libdir)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
endif
uninstall:
- rm -f $(DESTDIR)$(libdir)/$(DLOBJS)
+ rm -f $(DESTDIR)$(pkglibdir)/$(DLOBJS)
ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
endif
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index 595c74f5e2a..84d2959e4f5 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.34 2001/04/04 21:15:56 tgl Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.35 2001/09/16 16:11:11 petere Exp $
#
#-------------------------------------------------------------------------
@@ -34,6 +34,7 @@ all: pg_regress
pg_regress: pg_regress.sh GNUmakefile
sed -e 's,@bindir@,$(bindir),g' \
-e 's,@libdir@,$(libdir),g' \
+ -e 's,@pkglibdir@,$(pkglibdir),g' \
-e 's,@datadir@,$(datadir),g' \
-e 's/@VERSION@/$(VERSION)/g' \
-e 's/@host_tuple@/$(host_tuple)/g' \
diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh
index 552724a10f1..c3250358991 100644
--- a/src/test/regress/pg_regress.sh
+++ b/src/test/regress/pg_regress.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.21 2001/05/27 09:59:30 petere Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.22 2001/09/16 16:11:11 petere Exp $
me=`basename $0`
: ${TMPDIR=/tmp}
@@ -70,6 +70,7 @@ fi
: ${outputdir=.}
libdir='@libdir@'
+pkglibdir='@pkglibdir@'
bindir='@bindir@'
datadir='@datadir@'
host_platform='@host_tuple@'
@@ -271,6 +272,7 @@ then
bindir=$temp_install/install/$bindir
libdir=$temp_install/install/$libdir
+ pkglibdir=$temp_install/install/$pkglibdir
datadir=$temp_install/install/$datadir
PGDATA=$temp_install/data
@@ -450,7 +452,7 @@ fi
if [ "$enable_shared" = yes ]; then
message "installing PL/pgSQL"
- "$bindir/createlang" -L "$libdir" $psql_options plpgsql $dbname
+ "$bindir/createlang" -L "$pkglibdir" $psql_options plpgsql $dbname
if [ $? -ne 0 ] && [ $? -ne 2 ]; then
echo "$me: createlang failed"
(exit 2); exit