mirror of
https://github.com/postgres/postgres.git
synced 2026-02-20 00:10:16 -05:00
This way we don't need RANLIB anymore, making it a bit simpler for the meson build to generate Makefile.global for PGXS compatibility. FreeBSD, NetBSD, OpenBSD, the only platforms where we didn't use AROPT=crs, all have supported the 's' option for a long time. On macOS we ran ranlib after installing a static library. This was added a long time ago, in58ad65ec2d. I cannot reproduce an issue in more recent macOS versions. This is removed now. Based on discussion with Tom, I left the 'touch' at the end of static libraries generation, added in826eff57c4, in place. While it looks like current versions of Apple's ar/ranlib don't need it, it was needed not too long ago. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/20221005200710.luvw5evhwf6clig6@awork3.anarazel.de
39 lines
1.1 KiB
Makefile
39 lines
1.1 KiB
Makefile
# MAKE_EXPORTS is required for svr4 loaders that want a file of
|
|
# symbol names to tell them what to export/import.
|
|
MAKE_EXPORTS= true
|
|
|
|
# -blibpath must contain ALL directories where we should look for libraries
|
|
libpath := $(shell echo $(subst -L,:,$(filter -L/%,$(LDFLAGS))) | sed -e's/ //g'):/usr/lib:/lib
|
|
|
|
# when building with gcc, need to make sure that libgcc can be found
|
|
ifeq ($(GCC), yes)
|
|
libpath := $(libpath):$(dir $(shell gcc -print-libgcc-file-name))
|
|
endif
|
|
|
|
rpath = -Wl,-blibpath:'$(rpathdir)$(libpath)'
|
|
|
|
LDFLAGS_SL += -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
|
|
|
|
# gcc needs to know it's building a shared lib, otherwise it'll not emit
|
|
# correct code / link to the right support libraries
|
|
ifeq ($(GCC), yes)
|
|
LDFLAGS_SL += -shared
|
|
endif
|
|
|
|
# env var name to use in place of LD_LIBRARY_PATH
|
|
ld_library_path_var = LIBPATH
|
|
|
|
|
|
POSTGRES_IMP= postgres.imp
|
|
|
|
ifdef PGXS
|
|
BE_DLLLIBS= -Wl,-bI:$(pkglibdir)/$(POSTGRES_IMP)
|
|
else
|
|
BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
|
|
endif
|
|
|
|
MKLDEXPORT_DIR=src/backend/port/aix
|
|
MKLDEXPORT=$(top_srcdir)/$(MKLDEXPORT_DIR)/mkldexport.sh
|
|
|
|
%$(DLSUFFIX): %.o
|
|
$(CC) $(CFLAGS) $*.o $(LDFLAGS) $(LDFLAGS_SL) -o $@ $(BE_DLLLIBS)
|