Skip to content

Commit 7193436

Browse files
committed
AIX: Link TRANSFORM modules with their dependencies.
The result closely resembles linking of these modules for the "win32" port. Augment the $(exports_file) header so the file is also usable as an import file. Unfortunately, relocating an AIX installation will now require adding $(pkglibdir) to LD_LIBRARY_PATH. Back-patch to 9.5, where the modules were introduced.
1 parent bcd7c41 commit 7193436

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

contrib/hstore_plperl/Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,15 @@ include $(top_builddir)/src/Makefile.global
2323
include $(top_srcdir)/contrib/contrib-global.mk
2424
endif
2525

26+
# In configurations that forbid undefined symbols in libraries, link with each
27+
# dependency. This does preclude pgxs builds.
28+
ifeq ($(PORTNAME), aix)
29+
rpathdir = $(pkglibdir):$(perl_archlibexp)/CORE
30+
SHLIB_LINK += ../hstore/libhstore.exp $(perl_embed_ldflags)
31+
endif
2632
ifeq ($(PORTNAME), win32)
2733
# these settings are the same as for plperl
2834
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
29-
# This means we need an in-tree build on Windows, not a pgxs build
3035
SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
3136
endif
3237

contrib/hstore_plpython/Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,13 @@ include $(top_builddir)/src/Makefile.global
2323
include $(top_srcdir)/contrib/contrib-global.mk
2424
endif
2525

26+
# In configurations that forbid undefined symbols in libraries, link with each
27+
# dependency. This does preclude pgxs builds.
28+
ifeq ($(PORTNAME), aix)
29+
rpathdir = $(pkglibdir):$(python_libdir)
30+
SHLIB_LINK += ../hstore/libhstore.exp $(python_libspec) $(python_additional_libs) $(wildcard ../../src/pl/plpython/libplpython*.exp)
31+
endif
2632
ifeq ($(PORTNAME), win32)
27-
# This means we need an in-tree build on Windows, not a pgxs build
2833
SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plpython/libpython*.a) $(wildcard ../../src/pl/plpython/libplpython*.a)
2934
endif
3035

contrib/ltree_plpython/Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,13 @@ include $(top_builddir)/src/Makefile.global
2323
include $(top_srcdir)/contrib/contrib-global.mk
2424
endif
2525

26+
# In configurations that forbid undefined symbols in libraries, link with each
27+
# dependency. This does preclude pgxs builds.
28+
ifeq ($(PORTNAME), aix)
29+
rpathdir = $(pkglibdir):$(python_libdir)
30+
SHLIB_LINK += $(python_libspec) $(python_additional_libs) $(wildcard ../../src/pl/plpython/libplpython*.exp)
31+
endif
2632
ifeq ($(PORTNAME), win32)
27-
# This means we need an in-tree build on Windows, not a pgxs build
2833
SHLIB_LINK += $(wildcard ../../src/pl/plpython/libpython*.a) $(wildcard ../../src/pl/plpython/libplpython*.a)
2934
endif
3035

src/Makefile.shlib

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ ifeq ($(PORTNAME), aix)
111111
shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
112112
endif
113113
haslibarule = yes
114+
# $(exports_file) is also usable as an import file
114115
exports_file = lib$(NAME).exp
115116
endif
116117

@@ -341,7 +342,7 @@ $(shlib) $(stlib): $(OBJS) | $(SHLIB_PREREQS)
341342
rm -f $(stlib)
342343
$(LINK.static) $(stlib) $^
343344
$(RANLIB) $(stlib)
344-
$(MKLDEXPORT) $(stlib) >$(exports_file)
345+
$(MKLDEXPORT) $(stlib) $(shlib) >$(exports_file)
345346
$(COMPILER) -o $(shlib) $(stlib) -Wl,-bE:$(exports_file) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK)
346347
rm -f $(stlib)
347348
$(AR) $(AROPT) $(stlib) $(shlib)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy