Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix PGXS support for building loadable modules on AIX.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Oct 2012 01:04:30 +0000 (21:04 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 10 Oct 2012 01:04:30 +0000 (21:04 -0400)
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.

src/backend/Makefile
src/makefiles/Makefile.aix

index 7e67bd3adf224b4773250c62299a457dfc3219bf..45e275e57d975492a085563db9446d8612cf1c73 100644 (file)
@@ -183,6 +183,7 @@ else
 endif
 ifeq ($(MAKE_EXPORTS), true)
    $(INSTALL_DATA) $(POSTGRES_IMP) '$(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)'
+   $(INSTALL_PROGRAM) $(MKLDEXPORT) '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)/mkldexport.sh'
 endif
 
 .PHONY: install-bin
@@ -201,6 +202,7 @@ endif
 endif
 ifeq ($(MAKE_EXPORTS), true)
    $(mkinstalldirs) '$(DESTDIR)$(pkglibdir)'
+   $(mkinstalldirs) '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)'
 endif
 
 
@@ -210,6 +212,7 @@ uninstall:
    rm -f '$(DESTDIR)$(bindir)/postgres$(X)' '$(DESTDIR)$(bindir)/postmaster'
 ifeq ($(MAKE_EXPORTS), true)
    rm -f '$(DESTDIR)$(pkglibdir)/$(POSTGRES_IMP)'
+   rm -f '$(DESTDIR)$(pgxsdir)/$(MKLDEXPORT_DIR)/mkldexport.sh'
 endif
 ifeq ($(PORTNAME), cygwin)
 ifeq ($(MAKE_DLL), true)
index 8a789352b63ca20c3daee92b5c229804cdddc026..4e48ac3797fddc335210488e29064749d56e02a5 100644 (file)
@@ -30,12 +30,13 @@ IMPSUFF= .imp
 POSTGRES_IMP= postgres$(IMPSUFF)
 
 ifdef PGXS
-BE_DLLLIBS= -Wl,-bI:$(bindir)/postgres/$(POSTGRES_IMP)
+BE_DLLLIBS= -Wl,-bI:$(pkglibdir)/$(POSTGRES_IMP)
 else
 BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
 endif
 
-MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
+MKLDEXPORT_DIR=src/backend/port/aix
+MKLDEXPORT=$(top_srcdir)/$(MKLDEXPORT_DIR)/mkldexport.sh
 
 %$(EXPSUFF): %.o
    $(MKLDEXPORT) $*.o > $*$(EXPSUFF)