mirror of https://github.com/postgres/postgres
Fix shared library linking operations to work properly on all (or at
least more) combinations of HP-UX hardware, compiler, and linker. Shinji Teragaito and Tom Lane.
This commit is contained in:
parent
cb79234307
commit
346900e83b
|
@ -6,7 +6,7 @@
|
|||
# Copyright (c) 1998, Regents of the University of California
|
||||
#
|
||||
# IDENTIFICATION
|
||||
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.77 2004/07/13 00:06:46 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.78 2004/09/02 23:06:43 tgl Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
@ -148,10 +148,14 @@ endif
|
|||
|
||||
ifeq ($(PORTNAME), hpux)
|
||||
shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
|
||||
LINK.shared = $(LD) +h $(soname) -b +b $(libdir)
|
||||
ifeq ($(GCC), yes)
|
||||
SHLIB_LINK += `$(CC) -print-libgcc-file-name`
|
||||
endif
|
||||
ifeq ($(with_gnu_ld), yes)
|
||||
LINK.shared = $(CC) $(LDFLAGS) -shared -Wl,-h -Wl,$(soname)
|
||||
else
|
||||
LINK.shared = $(LD) +h $(soname) -b +b $(libdir)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(PORTNAME), irix)
|
||||
|
|
|
@ -11,14 +11,27 @@ ifeq ($(HAVE_POSIX_SIGNALS), no)
|
|||
LIBS := -lBSD $(LIBS)
|
||||
endif
|
||||
|
||||
# Using X/Open Networking Interfaces requires to link with libxnet.
|
||||
# Without specifying this, bind(), getpeername() and so on don't work
|
||||
# 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.)
|
||||
LDFLAGS += -Wl,+b -Wl,$(libdir)
|
||||
ifeq ($(with_gnu_ld), yes)
|
||||
LDFLAGS += -Wl,-rpath -Wl,$(libdir)
|
||||
else
|
||||
LDFLAGS += -Wl,+b -Wl,$(libdir)
|
||||
endif
|
||||
|
||||
# catch null pointer dereferences
|
||||
LDFLAGS += -Wl,-z
|
||||
ifeq ($(with_gnu_ld), yes)
|
||||
# XXX what to put here?
|
||||
else
|
||||
LDFLAGS += -Wl,-z
|
||||
endif
|
||||
|
||||
# set up appropriate options for shared library builds
|
||||
export_dynamic = -Wl,-E
|
||||
|
@ -28,16 +41,24 @@ INSTALL_SHLIB_OPTS = -m 555
|
|||
|
||||
AROPT = crs
|
||||
|
||||
DLSUFFIX = .sl
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fpic
|
||||
ifeq ($(host_cpu), ia64)
|
||||
DLSUFFIX = .so
|
||||
else
|
||||
CFLAGS_SL = +z
|
||||
DLSUFFIX = .sl
|
||||
endif
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fpic
|
||||
else
|
||||
CFLAGS_SL = +z
|
||||
endif
|
||||
|
||||
# Rule for building shared libs (currently used only for regression test
|
||||
# shlib ... should go away, since this is not really enough knowledge)
|
||||
%.sl: %.o
|
||||
%$(DLSUFFIX): %.o
|
||||
ifeq ($(with_gnu_ld), yes)
|
||||
$(CC) $(LDFLAGS) -shared -o $@ $<
|
||||
else
|
||||
$(LD) -b -o $@ $<
|
||||
endif
|
||||
|
||||
sqlmansect = 5
|
||||
|
|
Loading…
Reference in New Issue