LDFLAGS vs. shared libraries
I'm trying to build 7.4.3 under Solaris 9 with gcc and static linking of
libgcc. This requires passing '-static-libgcc' when linking both
binaries and shared libraries.
Passing 'LDFLAGS=-static-libgcc' to configure only partially works.
Binaries are correctly linked with that flag, but shared libraries
appear to ignore everything but -L options in LDFLAGS when linking (see
src/Makefile.shlib). The 8.0 tree appears to do the same.
I've changed Makefile.shlib to add all of LDFLAGS to SHLIB_LINK for now,
but I'm assuming there's a reason that it was only using -L flags
originally. Is there a Right Way to pass extra options for
shared-library linking?
-O
Oliver Jowett <oliver@opencloud.com> writes:
I've changed Makefile.shlib to add all of LDFLAGS to SHLIB_LINK for now,
but I'm assuming there's a reason that it was only using -L flags
originally.
IIRC, on some platforms there are elements of LDFLAGS that will actively
break shared library linking.
Is there a Right Way to pass extra options for
shared-library linking?
LDFLAGS_SL is meant for this, I believe. Dunno whether you can set it
via configure, though ... that may be an oversight. In the meantime
you could hand-hack Makefile.global to set it.
regards, tom lane
Tom Lane wrote:
Oliver Jowett <oliver@opencloud.com> writes:
Is there a Right Way to pass extra options for
shared-library linking?LDFLAGS_SL is meant for this, I believe. Dunno whether you can set it
via configure, though ... that may be an oversight. In the meantime
you could hand-hack Makefile.global to set it.
Ok. LDFLAGS_SL only seems to be used for AIX & BeOS at the moment, and
configure does not know about it. I will look at modifying configure.in
and Makefile.shlib to support it on other platforms.
-O