Skip to content

Commit 3f88fa9

Browse files
committed
Fix PGXS support for building loadable modules on AIX.
Building a shlib on AIX requires use of the mkldexport.sh script, but we failed to install that, preventing its use from non-source-tree contexts. Also, Makefile.aix had the wrong idea about where to find the installed copy of the postgres.imp symbol file used by AIX. Per report from John Pierce. Patch all the way back, since this has been broken since the beginning of PGXS.
1 parent 7e0cce0 commit 3f88fa9

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/backend/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ else
235235
endif
236236
ifeq ($(MAKE_EXPORTS), true)
237237
$(INSTALL_DATA) $(POSTGRES_IMP) '$(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)'
238+
$(INSTALL_PROGRAM) $(MKLDEXPORT) '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)/mkldexport.sh'
238239
endif
239240

240241
.PHONY: install-bin
@@ -253,6 +254,7 @@ endif
253254
endif
254255
ifeq ($(MAKE_EXPORTS), true)
255256
$(MKDIR_P) '$(DESTDIR)$(pkglibdir)'
257+
$(MKDIR_P) '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)'
256258
endif
257259

258260

@@ -262,6 +264,7 @@ uninstall:
262264
rm -f '$(DESTDIR)$(bindir)/postgres$(X)' '$(DESTDIR)$(bindir)/postmaster'
263265
ifeq ($(MAKE_EXPORTS), true)
264266
rm -f '$(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)'
267+
rm -f '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)/mkldexport.sh'
265268
endif
266269
ifeq ($(PORTNAME), cygwin)
267270
ifeq ($(MAKE_DLL), true)

src/makefiles/Makefile.aix

+3-2
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ endif
2727
POSTGRES_IMP= postgres.imp
2828

2929
ifdef PGXS
30-
BE_DLLLIBS= -Wl,-bI:$(bindir)/postgres/$(POSTGRES_IMP)
30+
BE_DLLLIBS= -Wl,-bI:$(pkglibdir)/$(POSTGRES_IMP)
3131
else
3232
BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
3333
endif
3434

35-
MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
35+
MKLDEXPORT_DIR=src/backend/port/aix
36+
MKLDEXPORT=$(top_srcdir)/$(MKLDEXPORT_DIR)/mkldexport.sh
3637

3738
%.exp: %.o
3839
$(MKLDEXPORT) $^ >$@

0 commit comments

Comments
 (0)