mirror of
https://github.com/postgres/postgres.git
synced 2025-12-09 02:08:45 +03:00
Rather than define ld_library_path_ver with a big nested $(if), just put the overriding values in the makefiles for the relevant ports. Also add a variable for port makefiles to append their own stuff to with_temp_install, and use it to set LD_LIBRARY_PATH_RPATH=1 on FreeBSD which is needed to make LD_LIBRARY_PATH override DT_RPATH if DT_RUNPATH is not set (which seems to depend in unpredictable ways on the choice of compiler, at least on my system). Backpatch for the benefit of anyone doing regression tests on FreeBSD. (For other platforms there should be no functional change.)
59 lines
1.3 KiB
Makefile
59 lines
1.3 KiB
Makefile
# Using X/Open Networking Interfaces requires to link with libxnet.
|
|
# Without specifying this, bind(), getpeername() and so on don't work
|
|
# correctly in the LP64 data model.
|
|
LIBS := -lxnet $(LIBS)
|
|
|
|
# Set up rpath so that the executables don't need SHLIB_PATH to be set.
|
|
# (Note: --disable-rpath is a really bad idea on this platform...)
|
|
ifeq ($(with_gnu_ld), yes)
|
|
rpath = -Wl,-rpath -Wl,'$(rpathdir)'
|
|
else
|
|
rpath = -Wl,+b -Wl,'$(rpathdir)'
|
|
endif
|
|
|
|
# catch null pointer dereferences
|
|
ifeq ($(with_gnu_ld), yes)
|
|
# XXX what to put here?
|
|
else
|
|
LDFLAGS_EX += -Wl,-z
|
|
endif
|
|
|
|
# set up appropriate options for shared library builds
|
|
export_dynamic = -Wl,-E
|
|
|
|
INSTALL_SHLIB_OPTS = -m 555
|
|
|
|
AROPT = crs
|
|
|
|
ifeq ($(host_cpu), ia64)
|
|
DLSUFFIX = .so
|
|
else
|
|
DLSUFFIX = .sl
|
|
endif
|
|
ifeq ($(GCC), yes)
|
|
CFLAGS_SL = -fPIC
|
|
else
|
|
CFLAGS_SL = +Z
|
|
endif
|
|
|
|
# env var name to use in place of LD_LIBRARY_PATH
|
|
ld_library_path_var = SHLIB_PATH
|
|
|
|
# Rule for building a shared library from a single .o file
|
|
%$(DLSUFFIX): %.o
|
|
ifeq ($(GCC), yes)
|
|
ifeq ($(with_gnu_ld), yes)
|
|
$(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ `$(CC) $(LDFLAGS) -print-libgcc-file-name`
|
|
else
|
|
$(LD) -b -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name`
|
|
endif
|
|
else
|
|
ifeq ($(with_gnu_ld), yes)
|
|
$(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@
|
|
else
|
|
$(LD) -b -o $@ $<
|
|
endif
|
|
endif
|
|
|
|
sqlmansect = 5
|