<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/2aad6bae30e0e87752ad32ba7b70afeee905f451">https://github.com/macports/macports-legacy-support/commit/2aad6bae30e0e87752ad32ba7b70afeee905f451</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2aad6bae30e0e87752ad32ba7b70afeee905f451
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Wed Nov 20 16:58:29 2024 -0800
<span style='display:block; white-space:pre;color:#404040;'> Makefile: Use system tools.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Referencing the "bare" ar, ld, lipo, and install_name_tool
</span><span style='display:block; white-space:pre;color:#404040;'> opportunistically uses the MacPorts cctools and ld64 versions, without
</span><span style='display:block; white-space:pre;color:#404040;'> explicit dependencies. This adds the explicit /usr/bin/ prefix to all
</span><span style='display:block; white-space:pre;color:#404040;'> but lipo to avoid that. These are still overridable defaults.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Since LD and AR are standard make defaults, defaulting them doesn't
</span><span style='display:block; white-space:pre;color:#404040;'> work. We switch to LDX and ARX to avoid that.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The lipo reference is left as is (since the system lipo is
</span><span style='display:block; white-space:pre;color:#404040;'> inadequate), but is expected to go away in the near future.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Builds (including tests) on all platforms, with all applicable SDKs.
</span>---
Makefile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/Makefile b/Makefile
</span><span style='display:block; white-space:pre;color:#808080;'>index 945e0f2..3890f57 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/Makefile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/Makefile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,7 +53,7 @@ XLIBDIR = xlib
</span> XLIBPATH = $(XLIBDIR)/lib$(OSLIBLINK)$(SOEXT)
SYSREEXPORTFLAG = -Wl,-reexport_library,$(OSLIBDIR)/lib$(OSLIBNAME)$(SOEXT)
BUILDSLIBFLAGS = -qs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-POSTINSTALL = install_name_tool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+POSTINSTALL ?= /usr/bin/install_name_tool
</span>
# The defaults for C[XX]FLAGS are defined as XC[XX]FLAGS, so that supplied
# definitions of C[XX]FLAGS don't override them. If overriding these defaults
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -71,12 +71,12 @@ DLIBCFLAGS ?= -fPIC
</span> SLIBCFLAGS ?=
XCXXFLAGS ?= $(DEBUG) $(OPT) -Wall
ALLCXXFLAGS := $(ARCHFLAGS) $(XCXXFLAGS) $(CXXFLAGS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-LD ?= /usr/bin/ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LDX ?= /usr/bin/ld
</span> LDFLAGS ?= $(DEBUG)
ALLLDFLAGS := $(ARCHFLAGS) $(LDFLAGS)
TEST_ARGS ?=
<span style='display:block; white-space:pre;background:#ffe0e0;'>-AR ?= ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ARX ?= /usr/bin/ar
</span> UNAME ?= uname
SED ?= /usr/bin/sed
GREP ?= /usr/bin/grep
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -307,7 +307,7 @@ $(MULTIDLIBOBJS): %$(DLIBOBJEXT): %.c $(ALLHEADERS)
</span> $(CC) -c -I$(SRCINCDIR) $(ALLCFLAGS) $(DLIBCFLAGS) -D__DARWIN_UNIX03=1 -D__DARWIN_ONLY_UNIX_CONFORMANCE=1 -D__DARWIN_64_BIT_INO_T=1 -D__DARWIN_ONLY_64_BIT_INO_T=0 $< -o $@.inode64
$(CC) -c -I$(SRCINCDIR) $(ALLCFLAGS) $(DLIBCFLAGS) -D__DARWIN_UNIX03=1 -D__DARWIN_ONLY_UNIX_CONFORMANCE=0 -D__DARWIN_64_BIT_INO_T=1 -D__DARWIN_ONLY_64_BIT_INO_T=0 $< -o $@.inode64unix2003
# ... and split them up, because ld can only generate single-architecture files ...
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $(call splitandfilterandmergemultiarch,$@,$(LIPO),$(RM),$(CP),$(LD),$(GREP),$(PLATFORM),$(FORCE_ARCH))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(call splitandfilterandmergemultiarch,$@,$(LIPO),$(RM),$(CP),$(LDX),$(GREP),$(PLATFORM),$(FORCE_ARCH))
</span>
$(MULTISLIBOBJS): %$(SLIBOBJEXT): %.c $(ALLHEADERS)
# Generate possibly multi-architecture object files ...
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -316,7 +316,7 @@ $(MULTISLIBOBJS): %$(SLIBOBJEXT): %.c $(ALLHEADERS)
</span> $(CC) -c -I$(SRCINCDIR) $(ALLCFLAGS) $(SLIBCFLAGS) -D__DARWIN_UNIX03=1 -D__DARWIN_ONLY_UNIX_CONFORMANCE=1 -D__DARWIN_64_BIT_INO_T=1 -D__DARWIN_ONLY_64_BIT_INO_T=0 $< -o $@.inode64
$(CC) -c -I$(SRCINCDIR) $(ALLCFLAGS) $(SLIBCFLAGS) -D__DARWIN_UNIX03=1 -D__DARWIN_ONLY_UNIX_CONFORMANCE=0 -D__DARWIN_64_BIT_INO_T=1 -D__DARWIN_ONLY_64_BIT_INO_T=0 $< -o $@.inode64unix2003
# ... and split them up, because ld can only generate single-architecture files ...
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $(call splitandfilterandmergemultiarch,$@,$(LIPO),$(RM),$(CP),$(LD),$(GREP),$(PLATFORM),$(FORCE_ARCH))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(call splitandfilterandmergemultiarch,$@,$(LIPO),$(RM),$(CP),$(LDX),$(GREP),$(PLATFORM),$(FORCE_ARCH))
</span>
# Generously marking all header files as potential dependencies
$(DLIBOBJS): %$(DLIBOBJEXT): %.c $(ALLHEADERS)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -354,7 +354,7 @@ $(BUILDSYSLIBPATH): $(ALLSYSLIBOBJS) | $(BUILDLIBDIR)
</span>
$(BUILDSLIBPATH): $(SOBJLIST) | $(BUILDLIBDIR)
$(RM) $@
<span style='display:block; white-space:pre;background:#ffe0e0;'>- $(AR) $(BUILDSLIBFLAGS) $@ $$(cat $<)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(ARX) $(BUILDSLIBFLAGS) $@ $$(cat $<)
</span>
# To run tests with our syslib, we want to suppress linking with the OS syslib,
# just to be certain that our replacement is an adequate substitute.
</pre><pre style='margin:0'>
</pre>