[MacPorts] #71946: icon @9.5.1 is not using the right compiler nor flags
MacPorts
noreply at macports.org
Wed Feb 12 05:41:00 UTC 2025
#71946: icon @9.5.1 is not using the right compiler nor flags
-------------------------+---------------------------------
Reporter: ryandesign | Owner: michael.grunewald@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: icon |
-------------------------+---------------------------------
Comment (by Dave-Allured):
CC: @kwolcott
icon uses an unusual self-configure stage with manually customized setup
files. It is actually a clever system that is adapted for many platforms.
However, it blocks standard environment variables and uses its own
versions, preventing the kinds of build flexibility used by MacPorts and
other packagers. This is where the unexpected compiler and libraries are
coming from.
The controlled variables for Mac are found in the source, in
`config/macintosh/Makedefs`:
{{{
# CC C compiler
# CFLAGS flags for building C files
# CFDYN additional flags for dynamic functions
# RLINK flags for linking run-time system
# RLIBS libraries to link with run-time system
# TLIBS libraries to link for POSIX threads
# XLIBS libraries to link for graphics
# SFLAGS flags for stripping iconx
}}}
I think overriding these settings, and admitting dynamic MacPorts
variables, should be fairly easy. I am thinking about allowing MacPorts
environment variables to flow directly into the project make commands.
Is there a simple way to create an EMPTY file named "Makedefs", in the
top-level source directory? Can this be done directly in the Portfile,
WITHOUT using a patch file? This would effectively bypass the project's
custom setup mechanism. Something like this:
{{{
echo "" > ${top_source_dir}/Makedefs
}}}
--
Ticket URL: <https://trac.macports.org/ticket/71946#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list