Clean up AIX build to avoid 'duplicate symbol' warnings, by moving use

of postgres.imp file into BE_DLLLIBS macro.  This makes the AIX build
work more like the Windows and Darwin builds, which have similar requirements
to mention a backend library when linking shared libraries that will be
dynamically loaded into the backend.
This commit is contained in:
Tom Lane 2005-10-28 17:32:22 +00:00
parent 1986ca5ce5
commit a7de22d8d5
2 changed files with 9 additions and 4 deletions

View File

@ -6,7 +6,7 @@
# Copyright (c) 1998, Regents of the University of California
#
# IDENTIFICATION
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.97 2005/08/08 03:35:13 tgl Exp $
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.98 2005/10/28 17:32:22 tgl Exp $
#
#-------------------------------------------------------------------------
@ -309,7 +309,7 @@ else # PORTNAME == aix
# AIX case
$(shlib): lib$(NAME).a
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
$(COMPILER) $(LDFLAGS_SL) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF)
$(COMPILER) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $< -Wl,-bE:lib$(NAME)$(EXPSUFF) $(SHLIB_LINK)
endif # PORTNAME == aix

View File

@ -21,13 +21,18 @@ IMPSUFF= .imp
POSTGRES_IMP= postgres$(IMPSUFF)
ifdef PGXS
BE_DLLLIBS= -Wl,-bI:$(DESTDIR)$(bindir)/postgres/$(POSTGRES_IMP)
else
BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
endif
MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
%$(EXPSUFF): %.o
$(MKLDEXPORT) $*.o > $*$(EXPSUFF)
%$(DLSUFFIX): %.o %$(EXPSUFF)
@echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp
$(CC) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $*.o -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) $(SHLIB_LINK)
$(CC) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $*.o -Wl,-bE:$*$(EXPSUFF) $(SHLIB_LINK)
sqlmansect = 7