aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in6
-rw-r--r--src/makefiles/Makefile.bsdi2
-rw-r--r--src/makefiles/Makefile.freebsd2
-rw-r--r--src/makefiles/Makefile.hpux10
-rw-r--r--src/makefiles/Makefile.irix2
-rw-r--r--src/makefiles/Makefile.linux2
-rw-r--r--src/makefiles/Makefile.netbsd4
-rw-r--r--src/makefiles/Makefile.openbsd2
-rw-r--r--src/makefiles/Makefile.osf2
-rw-r--r--src/makefiles/Makefile.solaris6
-rw-r--r--src/makefiles/Makefile.unixware4
11 files changed, 22 insertions, 20 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 02c32de3a0f..2c8f38f1e71 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -1,5 +1,5 @@
# -*-makefile-*-
-# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.204 2004/10/20 02:12:07 neilc Exp $
+# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.205 2004/11/19 00:41:38 tgl Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@@ -284,6 +284,10 @@ ELF_SYSTEM= @ELF_SYS@
# Pull in platform-specific magic
include $(top_builddir)/src/Makefile.port
+# Set up rpath if enabled. By default it will point to our libdir,
+# but individual Makefiles can force other rpath paths if needed.
+rpathdir = $(libdir)
+
ifeq ($(enable_rpath), yes)
LDFLAGS += $(rpath)
endif
diff --git a/src/makefiles/Makefile.bsdi b/src/makefiles/Makefile.bsdi
index 99be3eebb10..0257f6367a4 100644
--- a/src/makefiles/Makefile.bsdi
+++ b/src/makefiles/Makefile.bsdi
@@ -14,7 +14,7 @@ endif
ifeq ($(DLSUFFIX), .so)
CFLAGS_SL = -fpic
-rpath = -Wl,-rpath,$(libdir)
+rpath = -Wl,-rpath,$(rpathdir)
export_dynamic = -export-dynamic
shlib_symbolic = -Wl,-Bsymbolic
else
diff --git a/src/makefiles/Makefile.freebsd b/src/makefiles/Makefile.freebsd
index a9e59604d5a..8f41ea4d867 100644
--- a/src/makefiles/Makefile.freebsd
+++ b/src/makefiles/Makefile.freebsd
@@ -2,7 +2,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -export-dynamic
-rpath = -R$(libdir)
+rpath = -R$(rpathdir)
shlib_symbolic = -Wl,-Bsymbolic -lc
endif
diff --git a/src/makefiles/Makefile.hpux b/src/makefiles/Makefile.hpux
index 2ffd791e401..4a1e551ec14 100644
--- a/src/makefiles/Makefile.hpux
+++ b/src/makefiles/Makefile.hpux
@@ -16,14 +16,12 @@ endif
# correctly in the LP64 data model.
LIBS := -lxnet $(LIBS)
-# Embed 'libdir' as the shared library search path so that the executables
-# don't need SHLIB_PATH to be set. (We do not observe the --enable-rpath
-# switch here because you'd get rather bizarre behavior if you leave this
-# option off.)
+# Set up rpath so that the executables don't need SHLIB_PATH to be set.
+# (Note: --disable-rpath is a really bad idea on this platform...)
ifeq ($(with_gnu_ld), yes)
- LDFLAGS += -Wl,-rpath -Wl,$(libdir)
+ rpath = -Wl,-rpath,$(rpathdir)
else
- LDFLAGS += -Wl,+b -Wl,$(libdir)
+ rpath = -Wl,+b,$(rpathdir)
endif
# catch null pointer dereferences
diff --git a/src/makefiles/Makefile.irix b/src/makefiles/Makefile.irix
index 4062161d9ef..4486ed05e09 100644
--- a/src/makefiles/Makefile.irix
+++ b/src/makefiles/Makefile.irix
@@ -1,6 +1,6 @@
MK_NO_LORDER= true
AROPT = crs
-rpath = -Wl,-rpath,$(libdir)
+rpath = -Wl,-rpath,$(rpathdir)
shlib_symbolic = -Wl,-B,symbolic
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.linux b/src/makefiles/Makefile.linux
index e48ad5a6b10..c473214466e 100644
--- a/src/makefiles/Makefile.linux
+++ b/src/makefiles/Makefile.linux
@@ -1,6 +1,6 @@
AROPT = crs
export_dynamic = -Wl,-E
-rpath = -Wl,-rpath,$(libdir)
+rpath = -Wl,-rpath,$(rpathdir)
shlib_symbolic = -Wl,-Bsymbolic
allow_nonpic_in_shlib = yes
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.netbsd b/src/makefiles/Makefile.netbsd
index 531fc1356b5..2b6a1e13fd2 100644
--- a/src/makefiles/Makefile.netbsd
+++ b/src/makefiles/Makefile.netbsd
@@ -2,10 +2,10 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-E
-rpath = -Wl,-R$(libdir)
+rpath = -Wl,-R$(rpathdir)
shlib_symbolic = -Wl,-Bsymbolic -lc
else
-rpath = -R$(libdir)
+rpath = -R$(rpathdir)
endif
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.openbsd b/src/makefiles/Makefile.openbsd
index 66671e675fb..e35739573cd 100644
--- a/src/makefiles/Makefile.openbsd
+++ b/src/makefiles/Makefile.openbsd
@@ -2,7 +2,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-E
-rpath = -R$(libdir)
+rpath = -R$(rpathdir)
shlib_symbolic = -Wl,-Bsymbolic
endif
diff --git a/src/makefiles/Makefile.osf b/src/makefiles/Makefile.osf
index 4ee46ccd756..ebd6c30149b 100644
--- a/src/makefiles/Makefile.osf
+++ b/src/makefiles/Makefile.osf
@@ -1,7 +1,7 @@
AROPT = crs
DLSUFFIX = .so
CFLAGS_SL =
-rpath = -rpath $(libdir)
+rpath = -rpath $(rpathdir)
%.so: %.o
$(LD) -shared -expect_unresolved '*' -o $@ $<
diff --git a/src/makefiles/Makefile.solaris b/src/makefiles/Makefile.solaris
index d6fb7d8a7e7..2ff7e28c907 100644
--- a/src/makefiles/Makefile.solaris
+++ b/src/makefiles/Makefile.solaris
@@ -1,12 +1,12 @@
-# $PostgreSQL: pgsql/src/makefiles/Makefile.solaris,v 1.10 2003/11/29 19:52:12 pgsql Exp $
+# $PostgreSQL: pgsql/src/makefiles/Makefile.solaris,v 1.11 2004/11/19 00:41:39 tgl Exp $
AROPT = crs
ifeq ($(with_gnu_ld), yes)
export_dynamic = -Wl,-E
-rpath = -Wl,-rpath,$(libdir)
+rpath = -Wl,-rpath,$(rpathdir)
else
-rpath = -R$(libdir)
+rpath = -R$(rpathdir)
endif
shlib_symbolic = -Wl,-Bsymbolic
diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware
index 3372a8e5747..e8953756a67 100644
--- a/src/makefiles/Makefile.unixware
+++ b/src/makefiles/Makefile.unixware
@@ -7,9 +7,9 @@ endif
ifeq ($(ld_R_works), yes)
ifeq ($(with_gnu_ld), yes)
- rpath = -Wl,-rpath,$(libdir)
+ rpath = -Wl,-rpath,$(rpathdir)
else
- rpath = -Wl,-R$(libdir)
+ rpath = -Wl,-R$(rpathdir)
endif
endif
shlib_symbolic = -Wl,-Bsymbolic