mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
autoconf: Don't AC_SUBST() LD in configure
The only use of $(LD) in Makefiles is for AIX, to generate the export file for the backend. We only support the system linker on AIX and we already hardcode the path to a number of other binaries. Removing LD substitution will simplify the upcoming meson PGXS compatibility. While at it, add a comment why -r is used. A subsequent commit will remove the determination of LD from configure as well. Discussion: https://postgr.es/m/20221005200710.luvw5evhwf6clig6@awork3.anarazel.de
This commit is contained in:
@@ -289,7 +289,6 @@ LDAP_LIBS_FE = @LDAP_LIBS_FE@
|
||||
LDAP_LIBS_BE = @LDAP_LIBS_BE@
|
||||
UUID_LIBS = @UUID_LIBS@
|
||||
LLVM_LIBS=@LLVM_LIBS@
|
||||
LD = @LD@
|
||||
with_gnu_ld = @with_gnu_ld@
|
||||
|
||||
# It's critical that within LDFLAGS, all -L switches pointing to build-tree
|
||||
@@ -316,8 +315,6 @@ LDFLAGS = $(LDFLAGS_INTERNAL) @LDFLAGS@
|
||||
LDFLAGS_EX = @LDFLAGS_EX@
|
||||
# LDFLAGS_SL might have already been assigned by calling makefile
|
||||
LDFLAGS_SL += @LDFLAGS_SL@
|
||||
LDREL = -r
|
||||
LDOUT = -o
|
||||
WINDRES = @WINDRES@
|
||||
X = @EXEEXT@
|
||||
|
||||
|
||||
@@ -100,8 +100,14 @@ ifeq ($(PORTNAME), aix)
|
||||
postgres: $(POSTGRES_IMP)
|
||||
$(CC) $(CFLAGS) $(call expand_subsys,$(OBJS)) $(LDFLAGS) $(LDFLAGS_EX) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -Wl,-brtllib -o $@
|
||||
|
||||
# Linking to a single .o with -r is a lot faster than building a .a or passing
|
||||
# all objects to MKLDEXPORT.
|
||||
#
|
||||
# It looks alluring to use $(CC) -r instead of ld -r, but that doesn't
|
||||
# trivially work with gcc, due to gcc specific static libraries linked in with
|
||||
# -r.
|
||||
$(POSTGRES_IMP): $(OBJS)
|
||||
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(call expand_subsys,$^)
|
||||
ld -r -o SUBSYS.o $(call expand_subsys,$^)
|
||||
$(MKLDEXPORT) SUBSYS.o . > $@
|
||||
@rm -f SUBSYS.o
|
||||
|
||||
|
||||
Reference in New Issue
Block a user