Modify the platform-specific makefiles so that macro 'rpath' is defined

in terms of macro 'rpathdir', as I proposed a few weeks ago.  In itself
this commit shouldn't change the behavior at all, but it opens the door
to using special rpaths for the PL shared libraries, as seems to be
needed for plperl in particular.
This commit is contained in:
Tom Lane 2004-11-19 00:41:39 +00:00
parent b6038484f8
commit a9ddd649df
11 changed files with 22 additions and 20 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -2,7 +2,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-E
rpath = -R$(libdir)
rpath = -R$(rpathdir)
shlib_symbolic = -Wl,-Bsymbolic
endif

View File

@ -1,7 +1,7 @@
AROPT = crs
DLSUFFIX = .so
CFLAGS_SL =
rpath = -rpath $(libdir)
rpath = -rpath $(rpathdir)
%.so: %.o
$(LD) -shared -expect_unresolved '*' -o $@ $<

View File

@ -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

View File

@ -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