From: Tom Lane Date: Sat, 3 Dec 2005 20:16:50 +0000 (+0000) Subject: Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=985b8b0a708a928318ebb886d83e53feaad6efc4;p=users%2Fbernd%2Fpostgres.git Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX. Per example from Dirk Pirschel. --- diff --git a/src/Makefile.shlib b/src/Makefile.shlib index b07ae276e5..72b31d17a6 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -76,6 +76,9 @@ ifeq ($(enable_shared), yes) # Insert -L from LDFLAGS after any -L already present in SHLIB_LINK SHLIB_LINK := $(filter -L%, $(SHLIB_LINK)) $(filter -L%, $(LDFLAGS)) $(filter-out -L%, $(SHLIB_LINK)) +# Need a -L-free version of LDFLAGS to use in combination with SHLIB_LINK +LDFLAGS_NO_L := $(filter-out -L%, $(LDFLAGS)) + # Default shlib naming convention used by the majority of platforms shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) shlib_major = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) @@ -157,7 +160,7 @@ ifeq ($(PORTNAME), hpux) SHLIB_LINK += `$(CC) $(LDFLAGS) -print-libgcc-file-name` endif ifeq ($(with_gnu_ld), yes) - LINK.shared = $(CC) $(LDFLAGS) -shared -Wl,-h -Wl,$(soname) + LINK.shared = $(CC) $(LDFLAGS_NO_L) -shared -Wl,-h -Wl,$(soname) else # can't use the CC-syntax rpath pattern here rpath = @@ -303,7 +306,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_SL) -o $@ $< $(LDFLAGS_NO_L) $(SHLIB_LINK) -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) endif # PORTNAME == aix