[MacPorts] #54332: Support for setting Deployment Target and Base SDK

MacPorts noreply at macports.org
Sun Jun 18 00:26:25 UTC 2017


#54332: Support for setting Deployment Target and Base SDK
--------------------------+--------------------
  Reporter:  ssisak       |      Owner:
      Type:  enhancement  |     Status:  closed
  Priority:  Normal       |  Milestone:
 Component:  base         |    Version:  2.4.1
Resolution:  invalid      |   Keywords:
      Port:               |
--------------------------+--------------------
Changes (by ryandesign):

 * status:  new => closed
 * resolution:   => invalid


Old description:

> I'm using macports to build static libraries (i.e. ffmpeg and its
> dependencies) which will eventually be linked into an embedded framework
> in an application that may be deployed on multiple platforms, including
> systems older than the one I'm building on. In this case I'd like to
> build on 10.12 and deploy on 10.9 or later.
>
> In Xcode, I'd just set MACOSX_DEPLOYMENT_TARGET=10.9 and be done.
>
> It appears that macports had a similar macports.conf feature
> (universal_target) which was removed, linking back to
> https://trac.macports.org/changeset/30396
>
> Looking for a way to set this so that I don't get errors linking static
> libraries built with macorts into a framework with a different deployment
> target for instance:
>
> {{{
> ld: warning: object file
> (/Users/sgs/GotoReplay/Source/gotoreplay/Common/IOXMediaFoundation/FFmpeg/local/lib/libavutil.a(dict.o))
> was built for newer OSX version (10.12) than being linked (10.9)
> }}}
>
> There are also valid reasons to set SDKROOT

New description:

 I'm using macports to build static libraries (i.e. ffmpeg and its
 dependencies) which will eventually be linked into an embedded framework
 in an application that may be deployed on multiple platforms, including
 systems older than the one I'm building on. In this case I'd like to build
 on 10.12 and deploy on 10.9 or later.

 In Xcode, I'd just set MACOSX_DEPLOYMENT_TARGET=10.9 and be done.

 It appears that macports had a similar macports.conf feature
 (universal_target) which was removed, linking back to r30396

 Looking for a way to set this so that I don't get errors linking static
 libraries built with macorts into a framework with a different deployment
 target for instance:

 {{{
 ld: warning: object file
 (/Users/sgs/GotoReplay/Source/gotoreplay/Common/IOXMediaFoundation/FFmpeg/local/lib/libavutil.a(dict.o))
 was built for newer OSX version (10.12) than being linked (10.9)
 }}}

 There are also valid reasons to set SDKROOT

--

Comment:

 You can set `macosx_deployment_target` and `macosx_sdk_version` in
 macports.conf. They're undocumented because not all ports honor these
 settings.

--
Ticket URL: <https://trac.macports.org/ticket/54332#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list