Re: LDFLAGS overriding

From: Reini Urban <rurban(at)x-ray(dot)at>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: LDFLAGS overriding
Date: 2004-10-02 11:04:15
Message-ID: 415E8B2F.7060808@x-ray.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Peter Eisentraut schrieb:
> Reini Urban wrote:
>>I think that LDFLAGS overriding is in some situations bad for newer
>>libtool, as it is used with some postgresql contrib makefiles and
>>interfaces.
>
> We're not using libtool.

sorry. it conflicts with gnu ld.

>>LIBS are added to LDFLAGS where they really should be added to
>>LIBS, not LDFLAGS.
>>This causes incorrect order in the linker command-line, which fails
>>in building shared libs. A similar problem as with building php.
>
>
> Please point out where that happens so it can be corrected.

Something like this (against an older cvs snap), but I don't believe
that this is the best way to solve it. It just solved building under cygwin.

(sorry for the linewrap's)

--- postgresql-8.0.0cvs/src/Makefile.shlib.orig 2004-07-13
01:06:46.000000000 +0100
+++ postgresql-8.0.0cvs/src/Makefile.shlib 2004-09-03 14:44:14.436032500
+0100
@@ -212,6 +212,7 @@

ifeq ($(PORTNAME), cygwin)
shlib = $(NAME)$(DLSUFFIX)
+ SHLIB_LINK += $(LDFLAGS)
endif

ifeq ($(PORTNAME), win32)
@@ -224,9 +225,13 @@
SHLIB_LINK += -ltermcap -lstdc++.r4 -lbind -lsocket
-L/boot/develop/lib/x86
endif

-SHLIB_LINK := $(filter -L%, $(LDFLAGS)) $(SHLIB_LINK)
+ifeq ($(PORTNAME), cygwin)
+ SHLIB_LINK := $(LDFLAGS) $(LIBS) $(SHLIB_LINK)
+else
+ SHLIB_LINK := $(filter -L%, $(LDFLAGS)) $(SHLIB_LINK)
+endif
ifeq ($(enable_rpath), yes)
-SHLIB_LINK += $(rpath)
+ SHLIB_LINK += $(rpath)
endif

endif # enable_shared
--- postgresql-8.0.0cvs/src/makefiles/pgxs.mk.orig 2004-07-30
13:26:40.000000000 +0100
+++ postgresql-8.0.0cvs/src/makefiles/pgxs.mk 2004-09-03
14:53:00.569922900 +0100
@@ -63,7 +63,11 @@

ifdef MODULES
override CFLAGS += $(CFLAGS_SL)
-SHLIB_LINK += $(BE_DLLLIBS)
+ifeq ($(PORTNAME), cygwin)
+ SHLIB_LINK += $(BE_DLLLIBS) $(LDFLAGS) $(LIBS)
+else
+ SHLIB_LINK += $(BE_DLLLIBS)
+endif
endif

ifdef PG_CPPFLAGS

--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2004-10-02 23:23:44 Re: error report on slru.c
Previous Message Gaetano Mendola 2004-10-02 09:34:05 error report on slru.c