Commit c600a6ac authored by Bruce Momjian's avatar Bruce Momjian

I am attaching a patch file that will replace the previous one. It only

contains the patches to Makefile.global.in and Makefile.unixware.  The
Makefile.unixware patch has been updated to include the contents of
LD_LIBRARY_PATH, if present, to the -rpath (-R) option.  This change
will  simplify configuring and building PostgreSQL on systems that
support  LD_LIBRARY_PATH.  You can set LD_LIBRARY_PATH to include all
the directorys  you want to have searched for additional libraries, run
configure, then run  make.  The paths in LD_LIBRARY_PATH will then be
embedded in the executables  via the -rpath (-R) option to the linker,
and so will not require  LD_LIBRARY_PATH in order to run.

Billy G. Allie
parent cfd27281
# -*-makefile-*- # -*-makefile-*-
# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.155 2002/09/04 22:54:18 petere Exp $ # $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.156 2002/11/10 00:37:28 momjian Exp $
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets, # All PostgreSQL makefiles include this file and use the variables it sets,
...@@ -189,6 +189,9 @@ LIBS = @LIBS@ ...@@ -189,6 +189,9 @@ LIBS = @LIBS@
LD = @LD@ LD = @LD@
with_gnu_ld = @with_gnu_ld@ with_gnu_ld = @with_gnu_ld@
ld_R_works = @ld_R_works@ ld_R_works = @ld_R_works@
# Set trpath to a list of library paths included in LDFLAGS
# These paths can be added to rpath in the port specific makefiles if needed.
trpath = $(filter -L%,@LDFLAGS@)
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LDREL = -r LDREL = -r
LDOUT = -o LDOUT = -o
......
...@@ -7,9 +7,23 @@ endif ...@@ -7,9 +7,23 @@ endif
ifeq ($(ld_R_works), yes) ifeq ($(ld_R_works), yes)
ifeq ($(with_gnu_ld), yes) ifeq ($(with_gnu_ld), yes)
rpath = -Wl,-rpath,$(libdir) # Convert the list of library search paths into -rpath options
# (i.e. "-LpathA -LpathB" -> ",-rpath,pathA,-rpath,pathB"), adding
# the contents of LD_LIBRARY_PATH if it exists.
tpath1=$(shell echo $(trpath) | sed -e 's/ *-L/,-rpath,/g')
ifdef LD_LIBRARY_PATH
tpath2 = ,-rpath,tpath+=$(shell echo $(LD_LIBRARY_PATH) | sed -e 's/:/,-rpath,/g')
endif
rpath = -Wl,-rpath,$(libdir)$(tpath)$(tpath2)
else else
rpath = -Wl,-R$(libdir) # Convert the list of library search paths into a -R option path
# (i.e. "-LpathA -LpathB" -> ":pathA:pathB"), adding the contents of
# LD_LIBRARY_PATH if it exists.
tpath1 = $(shell echo $(trpath) | sed -e 's/ *-L/:/g')
ifdef LD_LIBRARY_PATH
tpath2 = :$(LD_LIBRARY_PATH)
endif
rpath = -Wl,-R$(libdir)$(tpath1)$(tpath2)
endif endif
endif endif
shlib_symbolic = -Wl,-Bsymbolic shlib_symbolic = -Wl,-Bsymbolic
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment