mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Install a cleaner solution to the AIX libpq linking problem, as per
an earlier discussion. Centralize assumptions about what libpq depends on in one place in Makefile.global. I am unconvinced that this list is complete, but since ecpg seems to have gotten along with just these entries, we'll try it this way and see what happens.
This commit is contained in:
parent
723af8e67a
commit
4ee24cbb55
@ -1,4 +1,4 @@
|
||||
# $PostgreSQL: pgsql/contrib/dblink/Makefile,v 1.12 2006/09/10 21:38:26 tgl Exp $
|
||||
# $PostgreSQL: pgsql/contrib/dblink/Makefile,v 1.13 2006/09/10 22:07:02 tgl Exp $
|
||||
|
||||
MODULE_big = dblink
|
||||
PG_CPPFLAGS = -I$(libpq_srcdir)
|
||||
@ -20,6 +20,3 @@ top_builddir = ../..
|
||||
include $(top_builddir)/src/Makefile.global
|
||||
include $(top_srcdir)/contrib/contrib-global.mk
|
||||
endif
|
||||
|
||||
# Apparently AIX requires that we mention everything libpq depends on :-(
|
||||
SHLIB_LINK += $(filter -lintl -lssl -lcrypto, $(LIBS))
|
||||
|
@ -1,5 +1,5 @@
|
||||
# -*-makefile-*-
|
||||
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.227 2006/09/09 03:15:40 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.228 2006/09/10 22:07:02 tgl Exp $
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# All PostgreSQL makefiles include this file and use the variables it sets,
|
||||
@ -336,23 +336,24 @@ libpq_srcdir = $(top_srcdir)/src/interfaces/libpq
|
||||
libpq_builddir = $(top_builddir)/src/interfaces/libpq
|
||||
endif
|
||||
|
||||
# This is for use for libraries linking to libpq. Because libpqport
|
||||
# isn't created with the same link flags as libpq, it can't be used.
|
||||
libpq = -L$(libpq_builddir) -lpq
|
||||
# This macro is for use by libraries linking to libpq. (Because libpgport
|
||||
# isn't created with the same link flags as libpq, it can't be used.)
|
||||
libpq := -L$(libpq_builddir) -lpq
|
||||
|
||||
# If doing static linking, shared library dependency can't be
|
||||
# used so we specify pthread libs for every usage of libpq
|
||||
# If doing static linking, shared library dependency info isn't available,
|
||||
# so add in the libraries that libpq depends on.
|
||||
ifeq ($(enable_shared), no)
|
||||
libpq += $(PTHREAD_LIBS)
|
||||
libpq += $(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt, $(LIBS)) $(PTHREAD_LIBS)
|
||||
else
|
||||
# AIX libraries do not remember their required libs so we have to force
|
||||
# thread dependent libraires in the link
|
||||
# On AIX even shared libraries do not remember their required libs,
|
||||
# so again add in what libpq depends on.
|
||||
ifeq ($(PORTNAME), aix)
|
||||
libpq += $(PTHREAD_LIBS)
|
||||
libpq += $(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt, $(LIBS)) $(PTHREAD_LIBS)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Force clients to pull symbols from the non-shared library libpgport
|
||||
# This macro is for use by client executables (not libraries) that use libpq.
|
||||
# We force clients to pull symbols from the non-shared library libpgport
|
||||
# rather than pulling some libpgport symbols from libpq just because
|
||||
# libpq uses those functions too. This makes applications less
|
||||
# dependent on changes in libpq's usage of pgport. To do this we link to
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/compatlib/Makefile,v 1.24 2006/08/28 16:13:10 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/compatlib/Makefile,v 1.25 2006/09/10 22:07:02 tgl Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -20,8 +20,7 @@ DLTYPE= library
|
||||
override CPPFLAGS := -I../include -I$(top_srcdir)/src/interfaces/ecpg/include \
|
||||
-I$(libpq_srcdir) -I$(top_srcdir)/src/include/utils $(CPPFLAGS)
|
||||
override CFLAGS += $(PTHREAD_CFLAGS)
|
||||
SHLIB_LINK = -L../ecpglib -lecpg -L../pgtypeslib -lpgtypes $(libpq) \
|
||||
$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) \
|
||||
SHLIB_LINK = -L../ecpglib -lecpg -L../pgtypeslib -lpgtypes $(libpq) -lm \
|
||||
$(PTHREAD_LIBS)
|
||||
|
||||
OBJS= informix.o
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Copyright (c) 1994, Regents of the University of California
|
||||
#
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.41 2006/08/28 16:13:11 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/Makefile,v 1.42 2006/09/10 22:07:02 tgl Exp $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -34,8 +34,7 @@ ifneq ($(PORTNAME), win32)
|
||||
OBJS += thread.o
|
||||
endif
|
||||
|
||||
SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) \
|
||||
$(filter -lintl -lssl -lcrypto -lkrb5 -lcrypt -lm, $(LIBS)) $(PTHREAD_LIBS)
|
||||
SHLIB_LINK = -L../pgtypeslib -lpgtypes $(libpq) -lm $(PTHREAD_LIBS)
|
||||
|
||||
ifeq ($(PORTNAME), win32)
|
||||
# Link to shfolder.dll instead of shell32.dll
|
||||
|
Loading…
Reference in New Issue
Block a user