mirror of https://github.com/postgres/postgres
linking both executables and shared libraries, and we add on LDFLAGS_EX when linking executables or LDFLAGS_SL when linking shared libraries. This provides a significantly cleaner way of dealing with link-time switches than the former behavior. Also, make sure that the various platform-specific %.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that before. (I did not add these variables for the platforms that invoke $(LD) directly, however. It's not clear if we can do that safely, since for the most part we assume these variables use CC command-line syntax.) Per gripe from Aaron Swenson and subsequent investigation.REL9_0_STABLE
parent
eb81b6509f
commit
291a957745
@ -1,16 +1,13 @@ |
||||
AROPT = crs
|
||||
AWK= awk
|
||||
|
||||
DLSUFFIX = .so
|
||||
CFLAGS_SL =
|
||||
|
||||
ifdef PGXS |
||||
BE_DLLLIBS= -bundle_loader $(bindir)/postgres
|
||||
BE_DLLLIBS = -bundle_loader $(bindir)/postgres
|
||||
else |
||||
BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres
|
||||
BE_DLLLIBS = -bundle_loader $(top_builddir)/src/backend/postgres
|
||||
endif |
||||
|
||||
# Rule for building shared libs (currently used only for regression test
|
||||
# shlib ... should go away, since this is not really enough knowledge)
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o |
||||
$(CC) $(CFLAGS) -bundle -o $@ $< $(BE_DLLLIBS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -bundle -o $@ $< $(BE_DLLLIBS)
|
||||
|
@ -1,9 +1,8 @@ |
||||
# $PostgreSQL: pgsql/src/template/cygwin,v 1.7 2006/03/11 04:38:40 momjian Exp $ |
||||
# $PostgreSQL: pgsql/src/template/cygwin,v 1.8 2010/07/05 18:54:38 tgl Exp $ |
||||
|
||||
SRCH_LIB="/usr/local/lib" |
||||
|
||||
# This is required to link pg_dump because it finds pg_toupper() in |
||||
# libpq and pgport |
||||
LDFLAGS="-Wl,--allow-multiple-definition -Wl,--enable-auto-import" |
||||
# --allow-multiple-definition is required to link pg_dump because it finds |
||||
# pg_toupper() in both libpq and pgport |
||||
# --enable-auto-import gets rid of a diagnostics linker message |
||||
LDFLAGS_SL="-Wl,--enable-auto-import" |
||||
LDFLAGS="-Wl,--allow-multiple-definition -Wl,--enable-auto-import" |
||||
|
Loading…
Reference in new issue